Spec-Zone.ru › CSS

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

Указывает на участие в выравнивании первой или последней базовой линии: выравнивает базовую линию элемента первого или последнего набора базовых линий с соответствующей базовой линией в общем первом или последнем наборе базовых линий всех элементов в группе с общими базовыми линиями.

the baseline is the line upon which most letters "sit" and below which descenders extend.

Значение по умолчанию для 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

См. также

  • Основные понятия Flexbox
  • Выравнивание элементов в контейнере Flex
  • Выравнивание блоков в сетке CSS Grid
  • Выравнивание блоков CSS
  • Блочный и инлайновый макет в обычном потоке
  • Block-level_content
  • display

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API