justify-items
Свойство является суб-свойство CSS Box Выравнивание модулей , которые в основном контролирует выравнивание элементов сетки в пределах своей области.
.element ( justify-items: center; )
justify-items
выравнивает элементы сетки по оси строк (встроенной). В частности, это свойство позволяет вам устанавливать выравнивание для элементов внутри контейнера сетки (не самой сетки) в определенном положении (например start
, center
и end
) или с поведением (например, auto
или stretch
).
Когда justify-items
используется, он также устанавливает justify-self
значение по умолчанию для всех элементов сетки, хотя это можно переопределить на дочернем уровне, используя justify-self
свойство самого дочернего элемента .
.grid ( display: grid; justify-items: center; ) .grid-item ( justify-self: start; )
Синтаксис
justify-items: normal | stretch | | ? ( | left | right ) | legacy | legacy && ( left | right | center )
- Первоначальный значение:
legacy
- Применимо к: всем элементам
- Унаследовано: нет
- Расчетное значение: как указано
- Тип анимации: дискретная
Значения
/* Basic keyword values */ justify-items: auto; justify-items: normal; justify-items: stretch; /* Baseline alignment */ justify-items: baseline; justify-items: first baseline; justify-items: last baseline; /* Positional alignment */ justify-items: center; justify-items: start; justify-items: end; justify-items: flex-start; justify-items: flex-end; justify-items: self-start; justify-items: self-end; justify-items: left; justify-items: right; /* Overflow alignment */ /* Used as an optional second value for positional alignment */ justify-items: safe; justify-items: unsafe; /* Legacy */ justify-items: legacy center; justify-items: legacy left; justify-items: legacy right; /* Global values */ justify-items: inherit; justify-items: initial; justify-items: unset;
Основные значения ключевых слов
stretch
: Значение по умолчанию. Выравнивает элементы по всей ширине ячейки элемента сеткиauto
: то же, что и значениеjustify-items
в родительском.normal
: Хотя мы видим, чтоjustify-items
чаще всего используется в макете сетки, технически он подходит для любого выравнивания поля иnormal
означает разные вещи в разном контексте макета, в том числе:- блочные макеты (
start
) - макеты сетки
stretch
- flexbox (игнорируется)
- ячейки таблицы (игнорируются)
- макеты с абсолютным позиционированием (
start
) - абсолютно позиционированные боксы (
stretch
) - заменены абсолютно позиционированные боксы (
start
)
- блочные макеты (
.container ( justify-items: stretch; )
Базовые значения выравнивания
Это выравнивает базовую линию выравнивания первой или последней базовой линии блока с соответствующей базовой линией его контекста выравнивания.
.container ( justify-items: baseline; )
- Выравнивания запасного варианта для
first baseline
этоsafe start
. - Выравнивания запасного варианта для
last baseline
этоsafe end
. baseline
соответствуетfirst baseline
при использовании отдельно
В демонстрации ниже (лучше всего просматриваемой в Firefox) мы видим, как элементы выравниваются с базовой линией сетки на основе основной оси.
Значения позиционного выравнивания
start
: Выравнивает элементы по начальному краю контейнера выравниванияend
: Выравнивает элементы по концевому краю контейнера выравниванияcenter
: Выравнивает элементы по центру контейнера выравниванияleft
: Выравнивает элементы слева от контейнера выравниванияright
: Выравнивает элементы справа от контейнера выравниванияself-start
: Выравнивает элементы в начале каждой ячейки элемента сеткиself-end
: Выравнивает элементы в конце каждой ячейки элемента сетки
.container ( justify-items: )
.container ( justify-items: )
.container ( justify-items: center; )
Значения выравнивания переполнения
Свойство переполнения определяет, как будет отображаться содержимое сетки, когда содержимое превышает границы сетки. Поэтому, когда содержимое больше, чем контейнер для выравнивания, это приведет к переполнению, что может привести к потере данных. Чтобы предотвратить это, мы можем использовать safe
значение, которое сообщает браузеру изменить выравнивание, чтобы не было потери данных.
safe
: Если элемент выходит за пределы контейнера выравнивания,start
используется режим.unsafe
: Значение выравнивания сохраняется как есть, независимо от размера элемента или контейнера выравнивания.
Унаследованные ценности
legacy
: При использовании с направленным ключевым словом (напримерright
,left
илиcenter
) это ключевое слово передается потомкам для наследования. Но если потомок объявляет,justify-self: auto;
тоlegacy
игнорируется, но по-прежнему учитывает ключевое слово directional. Значение вычисляется до унаследованного значения, если не указано ключевое слово направления. В противном случае он вычисляетnormal
.
Демо
Дополнительная информация
- CSS Box Alignment Module, уровень 3 (рабочий проект)
- Полное руководство по сетке
- Полное руководство по Flexbox
Поддержка браузера
Браузерная поддержка justify-items
вроде охватывает весь спектр, поскольку он используется в нескольких контекстах макета, таких как сетка, гибкий бокс, ячейки таблицы. Но в целом, если поддерживаются grid и flexbox, вы можете предположить, что justify-items
это тоже.
Макет сетки
IE | Край | Fire Fox | Хром | Сафари | Опера |
---|---|---|---|---|---|
Нет | 16+ | 45+ | 57+ | 10.1+ | 44+ |
Android Chrome | Android Firefox | Браузер Android | iOS Safari | Opera Mobile |
---|---|---|---|---|
81+ | 45+ | 81+ | 10.1+ | 59+ |
Макет Flex
IE | Край | Fire Fox | Хром | Сафари | Опера |
---|---|---|---|---|---|
Нет | 12+ | 20+ | 52+ | 9+ | 12.1+ |
Android Chrome | Android Firefox | Браузер Android | iOS Safari | Opera Mobile |
---|---|---|---|---|
87+ | 83+ | 81+ | 9+ | 12.1+ |
Связанные свойства
Альманах на 27 октября 2019 г.выровнять элементы
Джефф Грэм