Перейти к содержимому

Justify content css что это

  • автор:

justify-content

CSS свойство justify-content определяет, как браузер распределяет пространство между и вокруг элементов контента вдоль главной оси flex контейнера, или вдоль строчной оси grid контейнера.

Интерактивный пример ниже демонстрирует некоторые значения, используя Grid размещение.

Интерактивный пример

Выравнивание выполняется после того, как применяются длины и автоматические поля, что означает, что если во Flexbox разметке есть хотя бы один flex-элемент, с flex-grow отличным от 0 , эффект не будет применён, потому что не останется свободного места.

Синтаксис

/* Позиционное выравнивание */ justify-content: center; /* Выравнивание элементов по центру */ justify-content: start; /* Выравнивание элементов в начале */ justify-content: end; /* Выравнивание элементов в конце */ justify-content: flex-start; /* Выравнивание флекс-элементов с начала */ justify-content: flex-end; /* Выравнивание флекс-элементов с конца */ justify-content: left; /* Выравнивание элементов по левому краю */ justify-content: right; /* Выравнивание элементов по правому краю */ /* Выравнивание относительно осевой линии */ justify-content: baseline; justify-content: first baseline; justify-content: last baseline; /* Распределённое выравнивание */ justify-content: space-between; /* Равномерно распределяет все элементы по ширине flex-блока. Первый элемент вначале, последний в конце */ justify-content: space-around; /* Равномерно распределяет все элементы по ширине flex-блока. Все элементы имеют полноразмерное пространство с обоих концов */ justify-content: space-evenly; /* Равномерно распределяет все элементы по ширине flex-блока. Все элементы имеют равное пространство вокруг */ justify-content: stretch; /* Равномерно распределяет все элементы по ширине flex-блока. Все элементы имеют "авто-размер", чтобы соответствовать контейнеру */ /* Выравнивание при переполнении */ justify-content: safe center; justify-content: unsafe center; /* Глобальные значения */ justify-content: inherit; justify-content: initial; justify-content: unset; 

Значения

Элементы располагаются друг за другом и прижимаются к началу контейнера по главной оси.

Элементы располагаются друг за другом и прижимаются к концу контейнера по главной оси.

Элементы располагаются друг за другом и прижимаются к началу контейнера по главной оси, в зависимости от её направления (flex-direction). Для элементов, которые не являются дочерними элементами flex контейнера, это значение обрабатывается как start .

Элементы располагаются друг за другом и прижимаются к концу контейнера по главной оси, в зависимости от её направления (flex-direction). Для элементов, которые не являются дочерними элементами flex контейнера, это значение обрабатывается как end .

Элементы располагаются друг за другом в центре контейнера по главной оси.

Элементы располагаются друг за другом и прижимаются к левому краю контейнера по главной оси. Если главная ось не горизонтальна, это значение работает как start .

Элементы располагаются друг за другом и прижимаются к правому краю контейнера по главной оси. Если главная ось не горизонтальна, это значение работает как start .

Элементы располагаются на своих обычных позициях, так как будто свойство justify-content не задано. Этот параметр ведёт себя как stretch в grid и flex контейнерах.

Specifies participation in first- or last-baseline alignment: aligns the alignment baseline of the box’s first or last baseline set with the corresponding baseline in the shared first or last baseline set of all the boxes in its baseline-sharing group. The fallback alignment for first baseline is start , the one for last baseline is end .

Элементы равномерно распределены вдоль главной оси контейнера. Расстояния между каждой парой соседних элементов равны. Первый элемент прижат к началу контейнера по главной оси, а последний — к концу.

Элементы равномерно распределены вдоль главной оси контейнера. Расстояния между каждой парой соседних элементов равны. Пустые пространства перед первым элементом и после последнего элемента равны половине расстояния между парами соседних элементов.

Элементы равномерно распределены вдоль главной оси контейнера. Расстояния между каждой парой соседних элементов равны расстояниям от начала контейнера до первого элемента и от последнего элемента до конца контейнера.

If the combined size of the items is less than the size of the alignment container, any auto -sized items have their size increased equally (not proportionally), while still respecting the constraints imposed by max-height / max-width (or equivalent functionality), so that the combined size exactly fills the alignment container along the main axis.

Примечание: stretch не поддерживается гибкими контейнерами (flexbox).

If the size of the item overflows the alignment container, the item is instead aligned as if the alignment mode were start .

Regardless of the relative sizes of the item and alignment container, the given alignment value is honored.

Формальный синтаксис

justify-content =
normal | (en-US)
| (en-US)
? (en-US) [ (en-US) | (en-US) left | (en-US) right ] (en-US)

=
space-between | (en-US)
space-around | (en-US)
space-evenly | (en-US)
stretch

=
unsafe | (en-US)
safe

=
center | (en-US)
start | (en-US)
end | (en-US)
flex-start | (en-US)
flex-end

Пример

CSS

#container  display: flex; justify-content: space-between; /* Может быть изменено */ > #container > div  width: 100px; height: 100px; background: linear-gradient(-45deg, #788cff, #b4c8ff); > 
div id="container"> div>div> div>div> div>div> div> select id="justifyContent"> option value="start">startoption> option value="end">endoption> option value="flex-start">flex-startoption> option value="flex-end">flex-endoption> option value="center">centeroption> option value="left">leftoption> option value="right">rightoption> option value="baseline">baselineoption> option value="first baseline">first baselineoption> option value="last baseline">last baselineoption> option value="space-between" selected>space-betweenoption> option value="space-around">space-aroundoption> option value="space-evenly">space-evenlyoption> option value="stretch">stretchoption> select> 
var justifyContent = document.getElementById("justifyContent"); justifyContent.addEventListener("change", function (evt)  document.getElementById("container").style.justifyContent = evt.target.value; >); 

Результат

Спецификации

Specification
CSS Box Alignment Module Level 3
# align-justify-content
CSS Flexible Box Layout Module Level 1
# justify-content-property

justify-content

Определяет, как браузер распределяет пространство вокруг флекс-элементов вдоль главной оси контейнера. Это делается после того, как применяются размеры и автоматические отступы, за исключением ситуации, когда по крайней мере у одного элемента flex-grow больше нуля. При этом не остаётся никакого свободного пространства для манипулирования.

Краткая информация

Значение по умолчанию flex-start
Наследуется Нет
Применяется К флекс-контейнерам
Анимируется Нет

Синтаксис

justify-content: flex-start | flex-end | center | space-between | space-around | space-evenly

Синтаксис

Описание Пример
Указывает тип значения.
A && B Значения должны выводиться в указанном порядке. &&
A | B Указывает, что надо выбрать только одно значение из предложенных (A или B). normal | small-caps
A || B Каждое значение может использоваться самостоятельно или совместно с другими в произвольном порядке. width || count
[ ] Группирует значения. [ crop || cross ]
* Повторять ноль или больше раз. [,]*
+ Повторять один или больше раз. +
? Указанный тип, слово или группа не является обязательным. inset?
Повторять не менее A, но не более B раз.
# Повторять один или больше раз через запятую. #

Значения

flex-start Флексы прижаты к началу строки. flex-end Флексы прижаты к концу строки. center Флексы выравниваются по центру строки. space-between Флексы равномерно распределяются по всей строке. Первый и последний элемент прижимаются к соответствующим краям контейнера. space-around Флексы равномерно распределяются по всей строке. Пустое пространство перед первым и после последнего элементов равно половине пространства между двумя соседними элементами. space-evenly Флексы распределяются так, что расстояние между любыми двумя соседними элементами, а также перед первым и после последнего, было одинаковым.

Песочница

flex-start flex-end center space-between space-around space-evenly

Пример

justify-content section < display: flex; margin-bottom: 10px; >section > div < border: 1px solid #ccc; width: 100px; height: 100px; background: repeating-radial-gradient(circle at 50% 50%, #fff, #fff 25px, #f96 25px, #f96 50px); >.flex-start < justify-content: flex-start; >.flex-end < justify-content: flex-end; >.center < justify-content: center; >.space-between < justify-content: space-between; >.space-around

Объектная модель

Объект.style.justifyContent

Примечание

Safari до версии 9 поддерживает свойство -webkit-justify-content .

Спецификация

Спецификация Статус
CSS Box Alignment Module Level 3 Рабочий проект
CSS Flexible Box Layout Module Level 1 Возможная рекомендация

Спецификация

Каждая спецификация проходит несколько стадий одобрения.

  • Recommendation ( Рекомендация ) — спецификация одобрена W3C и рекомендована как стандарт.
  • Candidate Recommendation ( Возможная рекомендация ) — группа, отвечающая за стандарт, удовлетворена, как он соответствует своим целям, но требуется помощь сообщества разработчиков по реализации стандарта.
  • Proposed Recommendation ( Предлагаемая рекомендация ) — на этом этапе документ представлен на рассмотрение Консультативного совета W3C для окончательного утверждения.
  • Working Draft ( Рабочий проект ) — более зрелая версия черновика после обсуждения и внесения поправок для рассмотрения сообществом.
  • Editor’s draft ( Редакторский черновик ) — черновая версия стандарта после внесения правок редакторами проекта.
  • Draft ( Черновик спецификации ) — первая черновая версия стандарта.

Браузеры

11 13 29 12.1 6.1 9 28
4.4 28 12.1 7.1 9.2

Браузеры

В таблице браузеров применяются следующие обозначения.

  • — элемент полностью поддерживается браузером;
  • — элемент браузером не воспринимается и игнорируется;
  • — при работе возможно появление различных ошибок, либо элемент поддерживается с оговорками.

Число указывает версию браузреа, начиная с которой элемент поддерживается.

См. также

  • place-content
  • Выравнивание с помощью флексбоксов
  • Выравнивание элементов форм
  • Свойства flex-контейнера

Практика

  • Кролики по горизонтали 2
  • Кролики по горизонтали 3
  • Кролики по горизонтали 4
  • Кролики по горизонтали 5
  • Кролики по центру

Справочник CSS

  • !important
  • ::after
  • ::backdrop
  • ::before
  • ::first-letter
  • ::first-line
  • ::marker
  • ::placeholder
  • ::selection
  • :active
  • :blank
  • :checked
  • :default
  • :dir
  • :disabled
  • :empty
  • :enabled
  • :first-child
  • :first-of-type
  • :focus
  • :focus-within
  • :fullscreen
  • :hover
  • :in-range
  • :indeterminate
  • :invalid
  • :lang
  • :last-child
  • :last-of-type
  • :link
  • :not
  • :nth-child
  • :nth-last-child
  • :nth-last-of-type
  • :nth-of-type
  • :only-child
  • :only-of-type
  • :optional
  • :out-of-range
  • :placeholder-shown
  • :read-only
  • :read-write
  • :required
  • :root
  • :target
  • :valid
  • :visited
  • @charset
  • @document
  • @font-face
  • @import
  • @keyframes
  • @media
  • @page
  • @supports
  • @viewport
  • accent-color
  • align-content
  • align-items
  • align-self
  • all
  • animation
  • animation-delay
  • animation-direction
  • animation-duration
  • animation-fill-mode
  • animation-iteration-count
  • animation-name
  • animation-play-state
  • animation-timing-function
  • aspect-ratio
  • backdrop-filter
  • backface-visibility
  • background
  • background-attachment
  • background-blend-mode
  • background-clip
  • background-color
  • background-image
  • background-origin
  • background-position
  • background-position-x
  • background-position-y
  • background-repeat
  • background-size
  • block-size
  • border
  • border-bottom
  • border-bottom-color
  • border-bottom-left-radius
  • border-bottom-right-radius
  • border-bottom-style
  • border-bottom-width
  • border-collapse
  • border-color
  • border-image
  • border-left
  • border-left-color
  • border-left-style
  • border-left-width
  • border-radius
  • border-right
  • border-right-color
  • border-right-style
  • border-right-width
  • border-spacing
  • border-style
  • border-top
  • border-top-color
  • border-top-left-radius
  • border-top-right-radius
  • border-top-style
  • border-top-width
  • border-width
  • bottom
  • box-decoration-break
  • box-shadow
  • box-sizing
  • caption-side
  • caret-color
  • clear
  • clip
  • color
  • column-count
  • column-fill
  • column-gap
  • column-rule
  • column-rule-color
  • column-rule-style
  • column-rule-width
  • column-span
  • column-width
  • columns
  • content
  • counter-increment
  • counter-reset
  • cursor
  • direction
  • display
  • empty-cells
  • filter
  • flex
  • flex-basis
  • flex-direction
  • flex-flow
  • flex-grow
  • flex-shrink
  • flex-wrap
  • float
  • font
  • font-family
  • font-kerning
  • font-size
  • font-stretch
  • font-style
  • font-variant
  • font-weight
  • height
  • hyphenate-character
  • hyphenate-limit-chars
  • hyphens
  • image-rendering
  • justify-content
  • left
  • letter-spacing
  • line-clamp
  • line-height
  • list-style
  • list-style-image
  • list-style-position
  • list-style-type
  • margin
  • margin-bottom
  • margin-left
  • margin-right
  • margin-top
  • marks
  • max-height
  • max-width
  • min-height
  • min-width
  • mix-blend-mode
  • object-fit
  • opacity
  • order
  • orphans
  • outline
  • outline-color
  • outline-offset
  • outline-style
  • outline-width
  • overflow
  • overflow-x
  • overflow-y
  • padding
  • padding-block
  • padding-block-end
  • padding-block-start
  • padding-bottom
  • padding-inline
  • padding-inline-end
  • padding-inline-start
  • padding-left
  • padding-right
  • padding-top
  • page-break-after
  • page-break-before
  • page-break-inside
  • perspective
  • perspective-origin
  • place-content
  • pointer-events
  • position
  • quotes
  • resize
  • right
  • scroll-behavior
  • tab-size
  • table-layout
  • text-align
  • text-align-last
  • text-decoration
  • text-decoration-color
  • text-decoration-line
  • text-decoration-skip-ink
  • text-decoration-style
  • text-emphasis
  • text-emphasis-color
  • text-emphasis-position
  • text-emphasis-style
  • text-fill-color
  • text-indent
  • text-orientation
  • text-overflow
  • text-shadow
  • text-stroke
  • text-stroke-color
  • text-stroke-width
  • text-transform
  • top
  • transform
  • transform-origin
  • transform-style
  • transition
  • transition-delay
  • transition-duration
  • transition-property
  • transition-timing-function
  • unicode-bidi
  • user-select
  • vertical-align
  • visibility
  • white-space
  • widows
  • width
  • word-break
  • word-spacing
  • word-wrap
  • writing-mode
  • z-index
  • zoom

justify — content

Свойство для выравнивания элементов по основной оси в гридах и флексах.

Время чтения: меньше 5 мин

Открыть/закрыть навигацию по статье

Обновлено 11 мая 2023

Кратко

Скопировать ссылку «Кратко» Скопировано

Свойство выравнивает флекс-элементы внутри флекс-контейнера по основной оси.

При расположении флекс-элементов в ряд свойство управляет выравниванием по горизонтали. При расположении в колонку — выравниванием по вертикали.

Пример

Скопировать ссылку «Пример» Скопировано

Код ниже заставит флекс-элементы распределиться по всей ширине родителя, разделив свободное пространство поровну.

 .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 — direction : column , то значения left и right срабатывают как start .

Полный список свойств флексбоксов можно посмотреть в гайде по flexbox. А свойства гридов описаны в гайде по grid

  • Chrome 57, поддерживается 57
  • Edge 79, поддерживается 79
  • Firefox 81, поддерживается 81
  • Safari 9, поддерживается 9

На практике

Скопировать ссылку «На практике» Скопировано

Алёна Батицкая советует

Скопировать ссылку «Алёна Батицкая советует» Скопировано

�� Если внутри флекс-контейнера всего два элемента, то удобно использовать justify — content : space — between , чтобы прижать их к противоположным краям родителя. Это имитирует поведение свойства float , но без последствий.

CSS свойство justify-content

Свойство justify-content выравнивает элементы, когда они не используют все доступное пространство по горизонтали. Оно является подсвойством модуля макет гибкого контейнера. Свойство контролирует выравнивание элементов, когда они выходят за границы.

Свойство justify-content должно быть использовано вместе со свойством display, которое имеет значение «flex». Для вертикального выравнивания элементов нужно использовать свойство align-items.

Значение по умолчанию flex-start
Применяется К флекс-контейнерам
Наследуется Нет
Анимируемое Нет
Версия CSS3
DOM синтаксис object.style.justifyContent = «center»;

Синтаксис

Justify-content: flex-start | flex-end | center | space-between | space-around | initial | inherit;

Пример

html> html> head> title>Заголовок документа title> style> .center < width: 400px; height: 150px; border: 1px solid #666; display: -webkit-flex; /* Safari */ -webkit-justify-content: center; /* Safari 6.1+ */ display: flex; justify-content: center; > .center div < width: 70px; height: 70px; background-color: #ccc; border: 1px solid #666; > style> head> body> h2>Пример свойства justify-content h2> p>Установлено свойство "justify-content: center": p> div class="center"> div>1 div> div>2 div> div>3 div> div> body> html>

Пример со значением «flex-start»:

Пример

html> html> head> title>Заголовок документа title> style> .start < width: 400px; height: 150px; border: 1px solid #666; display: -webkit-flex; /* Safari */ -webkit-justify-content: flex-start; /* Safari 6.1+ */ display: flex; justify-content: flex-start; > .start div < width: 70px; height: 70px; background-color: #ccc; border: 1px solid #666; > style> head> body> h2>Пример свойства justify-content h2> p>Установлено свойство "justify-content: flex-start": p> div class="start"> div>1 div> div>2 div> div>3 div> div> div> body> html>

Пример со значением «flex-end»:

Пример

html> html> head> title>Заголовок документа title> style> .end < width: 400px; height: 150px; border: 1px solid #666; display: -webkit-flex; /* Safari */ -webkit-justify-content: flex-end; /* Safari 6.1+ */ display: flex; justify-content: flex-end; > .end div < width: 70px; height: 70px; background-color: #ccc; border: 1px solid #666; > style> head> body> h2>Пример свойства justify-content h2> p>Установлено свойство "justify-content: flex-end": p> div class="end"> div>1 div> div>2 div> div>3 div> div> div> body> html>

Пример, где установлено значение «space-between» для свойства justify-content:

Пример

html> html> head> title>Заголовок документа title> style> .space-between < width: 400px; height: 150px; border: 1px solid #666; display: -webkit-flex; /* Safari */ -webkit-justify-content: space-between; /* Safari 6.1+ */ display: flex; justify-content: space-between; > .space-between div < width: 70px; height: 70px; background-color: #ccc; border: 1px solid #666; > style> head> body> h2>Пример свойства justify-content h2> p>Установлено свойство "justify-content: space-between": p> div class="space-between"> div>1 div> div>2 div> div>3 div> div> div> body> html>

Пример со значением «space-around»:

Пример

html> html> head> title>Заголовок документа title> style> .space-around < width: 400px; height: 150px; border: 1px solid #666; display: -webkit-flex; /* Safari */ -webkit-justify-content: space-around; /* Safari 6.1+ */ display: flex; justify-content: space-around; > .space-around div < width: 70px; height: 70px; background-color: #ccc; border: 1px solid #666; > style> head> body> h2>Пример свойства justify-content h2> p>Установлено свойство "justify-content: space-around": p> div class="space-around"> div>1 div> div>2 div> div>3 div> div> div> body> html>

Значения

Значение Описание
flex-start Элементы позиционируются от начала контейнера.
flex-end Элементы позиционируются от конца контейнера.
center Элементы выравниваются по центру контейнера.
space-around Элементы равномерно распределяются по всей строке. Есть пространство перед первым элементом, а также после последнего элемента.
space-between Между элементами есть равное пространство..
initial Устанавливает свойство в значение по умолчанию.
inherit Значение элемента наследуется от родительского элемента.

Поддержка браузера

29.0+
21-28 -webkit-
28.0+ 9.0+
6.1-8.0 -webkit-
12.1+

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *