align-content
Базовая линия Широко доступна
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна во всех браузерах с сентября 2015 года.
Свойство CSS align-content задаёт распределение пробелов между и вокруг элементов контента вдоль блока гибкой компоновки's поперечной оси, или сетки или блочного элемента оси блока.
На интерактивном примере ниже используется сетка для демонстрации некоторых значений этого свойства.
Попробовать
Это свойство не оказывает влияния на контейнеры гибкой компоновки с одной строкой (т. е. те, у которых flex-wrap: nowrap).
Синтаксис
/* Normal alignment */ align-content: normal; /* Basic positional alignment */ /* align-content does not take left and right values */ align-content: start; align-content: center; align-content: end; align-content: flex-start; align-content: flex-end; /* Baseline alignment */ align-content: baseline; align-content: first baseline; align-content: last baseline; /* Distributed alignment */ align-content: space-between; align-content: space-around; align-content: space-evenly; align-content: stretch; /* Overflow alignment */ align-content: safe center; align-content: unsafe center; /* Global values */ align-content: inherit; align-content: initial; align-content: revert; align-content: revert-layer; align-content: unset;
Значения
normal-
Элементы упакованы в их стандартном положении, как будто значение
align-contentне было задано. start-
Элементы плотно прилегают друг к другу у стартового края контейнера выравнивания по поперечной оси.
center-
Элементы плотно прилегают друг к другу по центру контейнера выравнивания вдоль поперечной оси.
end-
Элементы плотно прилегают друг к другу у конечного края контейнера выравнивания по поперечной оси.
flex-start-
Элементы плотно прилегают друг к другу у края контейнера выравнивания, в зависимости от стороны кросс-старта контейнера гибкой компоновки. Это относится только к элементам макета гибкой компоновки. Для элементов, которые не являются потомками контейнера гибкой компоновки, это значение обрабатывается как
start. flex-end-
Элементы плотно прилегают друг к другу у края контейнера выравнивания, в зависимости от стороны кросс-финала контейнера гибкой компоновки. Это относится только к элементам макета гибкой компоновки. Для элементов, которые не являются потомками контейнера гибкой компоновки, это значение обрабатывается как
end. -
baseline,first baseline,last baseline -
Указывает на участие в выравнивании первой или последней базовой линии: выравнивает базовую линию элемента первого или последнего набора базовых линий с соответствующей базовой линией в общем первом или последнем наборе базовых линий всех элементов в группе с общими базовыми линиями.
Значение по умолчанию для
first baselineравноstart, а дляlast baseline—end. space-between-
Элементы равномерно распределяются внутри контейнера выравнивания по поперечной оси. Пробелы между каждой парой смежных элементов одинаковые. Первый элемент прилегает к началу контейнера выравнивания по поперечной оси, а последний элемент — к концу контейнера выравнивания по поперечной оси.
space-around-
Элементы равномерно распределяются внутри контейнера выравнивания по поперечной оси. Пробелы между каждой парой смежных элементов одинаковые. Пробелы перед первым и после последнего элемента составляют половину пробелов между каждой парой смежных элементов.
space-evenly-
Элементы равномерно распределяются внутри контейнера выравнивания по поперечной оси. Пробелы между каждой парой смежных элементов, между начальным краем и первым элементом, и между конечным краем и последним элементом — все одинаковые.
stretch-
Если общий размер элементов по поперечной оси меньше размера контейнера выравнивания, элементы размера
auto, увеличивают свой размер равномерно (а не пропорционально), но при этом учитывая ограничения, наложенныеmax-height/max-width(или эквивалентные функции), так что общий размер точно заполняет контейнер выравнивания по поперечной оси. safe-
Используется совместно с ключевым словом выравнивания. Если выбранное ключевое слово означает, что элемент выходит за пределы контейнера выравнивания, что приводит к потере данных, элемент выравнивается так, как если бы режим выравнивания был
start. unsafe-
Используется совместно с ключевым словом выравнивания. Независимо от относительных размеров элемента и контейнера выравнивания и от того, может ли произойти переполнение, вызывающее потерю данных, заданное значение выравнивания поддерживается.
Примечание: Значения <content-distribution> (space-between, space-around, space-evenly, и stretch) не оказывают никакого влияния в блочном макете, так как весь контент в этом блоке обрабатывается как один объект выравнивания
Формальное определение
| Начальное значение | normal |
|---|---|
| Применяется к | Контейнеры блоков, многоколоночные контейнеры, контейнеры гибкой компоновки |
| Наследуется | нет |
| Вычисленное значение | как указано |
| Тип анимации | дискретный |
Формальный синтаксис
align-content =
normal |
<baseline-position> |
<content-distribution> |
<overflow-position>? <content-position>
<baseline-position> =
[ first | last ]? &&
baseline
<content-distribution> =
space-between |
space-around |
space-evenly |
stretch
<overflow-position> =
unsafe |
safe
<content-position> =
center |
start |
end |
flex-start |
flex-end
Примеры
Влияние различных значений align-content
В этом примере вы можете переключаться между тремя различными значениями свойства display, включая flex, grid, и block. Вы также можете переключаться между различными значениями align-content.
HTML
<section> <div class="olive">Olive</div> <div class="coral">Coral</div> <div class="deepskyblue">Deep<br />sky<br />blue</div> <div class="orchid">Orchid</div> <div class="slateblue">Slateblue</div> <div class="maroon">Maroon</div> </section>
CSS
section {
border: solid 1.5px tomato;
height: 300px;
width: 300px;
flex-wrap: wrap; /* used by flex only */
gap: 0.2rem; /* not used by block */
}
.olive {
background-color: olive;
}
.coral {
background-color: coral;
}
.deepskyblue {
background-color: deepskyblue;
}
.orchid {
background-color: orchid;
}
.slateblue {
background-color: slateblue;
color: white;
}
.maroon {
background-color: maroon;
color: white;
}
Результат
Попробуйте изменить значение display и значение align-content.
В блочном макете дочерние элементы обрабатываются как один элемент, что означает, что space-between, space-around, и space-evenly ведут себя по-разному.
Спецификации
| Спецификация |
|---|
| CSS Box Alignment Module Level 3 # align-justify-content |
| CSS Flexible Box Layout Module Level 1 # align-content-property |
Совместимость с браузерами
| Рабочий стол | Мобильный | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на IOS | Samsung Internet | WebView Android | |
align-content |
2921 | 1212 | 2849 | 1615 | 97 | 2925 | 2849 | 1614 | 97 | 2.01.5 | 4.44.4 |
block_context |
123 | 123 | 125 | 109 | 17.4 | 123 | 125 | 82 | 17.4 | 27.0 | 123 |
flex_context |
21 | 12 | 28 | 15 | 9 | 25 | 28 | 14 | 9 | 1.5 | 4.4 |
grid_context |
57 | 16 | 52 | 44 | 10.1 | 52 | 52 | 43 | 10.3 | 6.2 | 57 |
multicol_context |
123 | 123 | Нет | 109 | 17.4 | 123 | Нет | 82 | 17.4 | 27.0 | 123 |
См. также
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/CSS/align-content