Spec-Zone.ru › CSS

Выравнивание блоков в сетке

Спецификация выравнивания блоков описывает, как работает выравнивание в различных методах макета. На этой странице мы рассмотрим, как работает выравнивание блоков в контексте CSS-сетки.

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

Базовый пример

В этом примере использования сетки после размещения полос фиксированной ширины по основной оси в контейнере сетки остаётся дополнительное пространство. Это пространство распределяется с помощью justify-content. По поперечной оси выравнивание элементов внутри их областей сетки контролируется с помощью align-items. Первый элемент переопределяет значение align-items, установленное для группы, установив align-self в center.

Оси сетки

Как двухмерный метод макета, при работе с CSS-сеткой у нас всегда есть две оси, по которым мы можем выравнивать элементы. Мы имеем доступ ко всем свойствам выравнивания блоков, чтобы достичь этого.

Основная ось — это ось, соответствующая направлению, в котором слова в предложении идут в используемом режиме написания. Поэтому в горизонтальном языке, таком как английский или арабский, основное направление идёт горизонтально. Если вы используете вертикальный режим написания, основная ось будет вертикальной.

Inline axes are horizontal.

Для выравнивания элементов по основной оси используйте свойства, начинающиеся с justify-, justify-content, justify-items и justify-self.

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

Для выравнивания элементов по поперечной оси используйте свойства, начинающиеся с align-, align-content, align-items и align-self.

The block axes are vertical.

Выравнивание по себе

  • justify-self
  • align-self
  • place-self
  • justify-items
  • align-items
  • place-items

Эти свойства отвечают за выравнивание элемента внутри области сетки, в которую он помещён. Свойства align-items и justify-items применяются к контейнеру сетки и устанавливают свойства align-self и justify-self в качестве группы. Это означает, что вы можете установить выравнивание для всех элементов сетки сразу, а затем переопределить любые элементы, которые нуждаются в другом выравнивании, применив свойства align-self или justify-self к правилам для отдельных элементов сетки.

Начальное значение для align-self и justify-self равно stretch, поэтому элемент будет растянут на всю область сетки. Исключением из этого правила является случай, когда элемент имеет собственное соотношение сторон, например, изображение. В этом случае элемент будет выровнен по start по обеим осям, чтобы изображение не искажалось.

Выравнивание содержимого

  • justify-content
  • align-content
  • place-content

Эти свойства отвечают за выравнивание полос сетки, когда есть дополнительное пространство для распределения. Такая ситуация возникнет, если общая ширина определённых полос будет меньше общей ширины контейнера сетки.

Интервалы и устаревшие свойства grid-gap

  • row-gap
  • column-gap
  • gap

В спецификации сетки изначально были определены свойства grid-row-gap, grid-column-gap и grid-gap. С тех пор они были перенесены в спецификацию выравнивания блоков и переименованы в row-gap, column-gap и gap. Это позволяет использовать их для других методов макета, где интервал между элементами имеет смысл.

Обновлённые свойства ещё не реализованы во всех браузерах. Поэтому, чтобы использовать свойства интервалов в CSS-сетке, следует использовать grid-row-gap, grid-column-gap и grid-gap версии, чтобы обеспечить полную совместимость. Можно дублировать свойства и использовать оба, как вы бы делали с префиксами для разных браузеров.

Справочник

Свойства CSS

  • justify-content
  • align-content
  • place-content
  • justify-items
  • align-items
  • place-items
  • justify-self
  • align-self
  • place-self
  • row-gap
  • column-gap
  • gap

Элементы глоссария

  • Поперечная ось
  • Основная ось

Руководства

  • Выравнивание в сетке

© 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/CSS_box_alignment/Box_alignment_in_grid_layout

Spec-Zone.ru

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