4.2 KiB
4.2 KiB
sidebar_position
| sidebar_position |
|---|
| 2 |
Сетка flexbox, grid
Источник: DeepSeek
Flexbox
Flexbox (Flexible Box Layout) — это мощная модульная система CSS, предназначенная для создания гибких и адаптивных макетов. Она позволяет легко выравнивать элементы, распределять пространство и управлять их поведением в контейнере, даже если размеры элементов неизвестны или динамически изменяются.
Основные концепции Flexbox
Flexbox работает с двумя основными сущностями:
- Flex Container (контейнер) — элемент, который содержит дочерние элементы (flex items). Чтобы сделать элемент flex-контейнером, нужно задать ему свойство
display: flexилиdisplay: inline-flex. - Flex Items (элементы) — дочерние элементы внутри flex-контейнера.
Преимущества Flexbox:
- Простое создание адаптивных макетов.
- Легкое выравнивание элементов по горизонтали и вертикали.
- Гибкость в управлении размерами и порядком элементов.
Когда использовать Flexbox:
- Для создания одномерных макетов (например, навигационные панели, карточки, списки).
- Когда нужно выравнивать элементы внутри контейнера.
- Для создания адаптивных интерфейсов.
Grid
CSS Grid Layout (или просто Grid) — это мощная система для создания двумерных макетов в CSS. В отличие от Flexbox, который работает с одномерными макетами (либо строка, либо столбец), Grid позволяет управлять как строками, так и столбцами одновременно. Это делает Grid идеальным инструментом для создания сложных, адаптивных сеток.
Основные концепции Grid
- Grid Container (контейнер) — элемент, который содержит дочерние элементы (grid items). Чтобы сделать элемент grid-контейнером, нужно задать ему свойство
display: gridилиdisplay: inline-grid. - Grid Items (элементы) — дочерние элементы внутри grid-контейнера.
- Grid Lines (линии) — линии, которые разделяют строки и столбцы. Они могут быть пронумерованы или названы.
- Grid Tracks (дорожки) — пространство между двумя соседними линиями (строки или столбцы).
- Grid Cells (ячейки) — пересечение строки и столбца (минимальная единица сетки).
- Grid Areas (области) — прямоугольные области, состоящие из одной или нескольких ячеек.
Преимущества Grid:
- Полный контроль над строками и столбцами.
- Простое создание сложных макетов.
- Гибкость в управлении размерами и расположением элементов.
Когда использовать Grid:
- Для создания двумерных макетов (например, страницы с боковой панелью, заголовком и футером).
- Когда нужно точно контролировать расположение элементов.
- Для создания адаптивных интерфейсов с минимальным количеством медиазапросов.