← Все вопросы
Что такое justify-content и align-items в flexbox? Никак не уложу в голове, какое за что
6
Делаю flex-контейнер, есть justify-content и align-items, оба про расположение. Постоянно путаю, какое двигает влево-вправо, а какое вверх-вниз. Можно по-простому?
2 ответа
10
✓ Принятый ответ — помог автору
В обычном flex-контейнере (без flex-direction) элементы выстраиваются в ряд слева направо. Тогда:
justify-content— двигает элементы вдоль ряда (по горизонтали):flex-start(слева),center(по центру),flex-end(справа),space-between(раздвинуть по краям с равными промежутками).align-items— двигает поперёк ряда (по вертикали):flex-start(вверх),center,flex-end(вниз).
.row {
display: flex;
justify-content: space-between; /* раскидать по ширине */
align-items: center; /* выровнять по вертикали */
}
Запоминалка: justify — вдоль строки (как текст выравниваешь), align — поперёк (поднять/опустить). space-between особенно полезен для меню: пункты разъезжаются к краям.
4
Если элементы переносятся на новую строку, добавь flex-wrap: wrap, иначе они будут ужиматься в один ряд. А gap: 10px задаёт расстояние между ними — намного удобнее, чем margin'ы у каждого.
Ваш ответ
Войдите, чтобы ответить на вопрос.