/
Вопросы и ответы
/
CSS
/

Как прижать элемент к правому краю css

Как прижать элемент к правому краю css

5 лет назад

Человек-Молекула

Ответы

0

Простейший вариант для манипуляции одного блока относительно другого решается с помощью позиционирования. Исходный HTML файл:

1
2
3
4
5
6
7
<body>
 <div class="wrapper">
  <div class="content">i am a wrapper
    <div class="inside">i am inside</div>
  </div>
 </div>
</body>

Допустим необходимо блок с классом inside разместить в нижней части относительно блока с классом content:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
.wrapper {
  /* Отцентрируем блоки для экспериментов и зададим им ширину*/
  margin: 100px auto;
  width: 300px;
}
.content {
  background-color: #38d9a9;
  height: 200px;
  position: relative;
}
  
.inside {
  /* абсолютное позиционирование */
  position: absolute;
  /* прижимаем блок к правой границе относительно блока с position: relative*/
  right: 0;
  /* Для примера можем прижать блок и к нижней границе */
  bottom: 0;
  /* задаем ширину и цвет бэкграунда для наглядности*/
  width: 75px;
  height: 75px; 
  background-color: #444;
}

4 года назад

Вячеслав Межуревский

0

Проще всего прижать элемент к правому краю внутри flex-контейнера через margin-left: auto:

1
2
3
4
<header class="header">
  <div class="logo">Логотип</div>
  <button class="login">Войти</button>
</header>

margin-left: auto забирает всё свободное место слева, и кнопка уходит вправо. Остальные элементы остаются на своих местах.

Все элементы вправо

1
2
3
4
.toolbar {
  display: flex;
  justify-content: flex-end;
}

Блок без flex

Блок с заданной шириной прижимают вправо тем же автоотступом:

1
2
3
4
.card {
  width: 300px;
  margin-left: auto;
}

Текст и строчные элементы внутри блока — через text-align: right.

Поверх содержимого

Если элемент должен стоять в правом углу родителя независимо от остального контента, используйте абсолютное позиционирование:

1
2
3
4
5
6
7
8
9
.card {
  position: relative;
}

.badge {
  position: absolute;
  top: 8px;
  right: 8px;
}

Родителю обязательно нужен position: relative, иначе элемент встанет в угол страницы.

Через grid

1
2
3
4
5
6
7
.grid {
  display: grid;
}

.grid .login {
  justify-self: end;
}

float: right тоже прижимает элемент вправо, но ломает высоту родителя и неудобен в адаптивной вёрстке. Для новых макетов используйте flexbox или grid.

Flexbox и позиционирование разбирают в курсе «Профессиональная вёрстка».

10 дней назад

Никита Вихров

+7 800 100 22 47

бесплатно по РФ

+7 495 085 21 62

бесплатно по Москве

108813 г. Москва, вн.тер.г. поселение Московский,
г. Московский, ул. Солнечная, д. 3А, стр. 1, помещ. 20Б/3
ОГРН 1217300010476
ИНН 7325174845