Кратко
СкопированоСвойство выравнивает флекс-элементы внутри флекс-контейнера по основной оси.
При расположении флекс-элементов в ряд свойство управляет выравниванием по горизонтали. При расположении в колонку — выравниванием по вертикали.
Пример
СкопированоКод ниже заставит флекс-элементы распределиться по всей ширине родителя, разделив свободное пространство поровну.
.container { display: flex; justify-content: space-between;}
.container { display: flex; justify-content: space-between; }
Как понять
СкопированоЭто свойство определяет, как распределяется свободное пространство между элементами вдоль главной оси (для флексбоксов), и по горизонтали (для гридов).
Как пишется
Скопированоstart
— элементы прижимаются к тому краю, откуда начинается чтение на том языке, на котором отображается сайт.end
— элементы прижимаются к краю, противоположному началу направления чтения на языке сайта.flex
— элементы прижимаются к краю, от которого начинается основная ось.- start flex
— элементы прижимаются к краю, у которого основная ось заканчивается.- end left
— элементы прижмутся к левому краю родителя.right
— элементы прижмутся к правому краю родителя.center
— элементы выстраиваются по центру родителя.space
— крайние элементы прижимаются к краям родителя, оставшиеся выстраиваются внутри контейнера равномерно, так, чтобы между ними были одинаковые отступы.- between space
— свободное пространство делится поровну между элементами и по половине от этой доли размещается по бокам от каждого элемента. Таким образом, между соседними элементами будет равное расстояние, а снаружи крайних элементов — по половине этого расстояния.- around space
— свободное место будет распределено так, чтобы расстояние между любыми двумя элементами было одинаковым и расстояние от крайних элементов до края было таким же.- evenly
Если основная ось идёт горизонтально, то для сайта с направлением письма слева направо (LTR) значение start
прижмёт элементы к левому краю, а значение end
прижмёт элементы к правому краю. Для сайтов с направлением письма справа налево (RTL) элементы будут прижиматься к противоположным краям для аналогичных значений.
В случае, если указано свойство flex
, то значения left
и right
срабатывают как start
.
- Chrome 57, поддерживается
- Edge 79, поддерживается
- Firefox 81, поддерживается
- Safari 9, поддерживается
На практике
Скопированосоветует Скопировано
🛠 Если внутри флекс-контейнера всего два элемента, то удобно использовать justify
, чтобы прижать их к противоположным краям родителя. Это имитирует поведение свойства float
, но без последствий.