К содержанию

Навигация

Гибкость элементов

Классы flex-* задают сокращённое свойство flex: рост, сжатие и базовый размер флекс-элемента сразу. Берите их вместо отдельных grow, shrink и basis-*, когда нужна одна из типовых комбинаций.

Пример

Рост

Три элемента с разной длиной текста, класс стоит на каждом. С flex-1 элементы равной ширины, с flex-auto длинный остаётся шире, с flex-initial элементы не растут и место остаётся свободным.

flex-1
Короткий Элемент с длинным текстом Средний текст
flex-auto
Короткий Элемент с длинным текстом Средний текст
flex-initial
Короткий Элемент с длинным текстом Средний текст

Сжатие

Контейнер уже, чем элементы вместе. Элемент с flex-none или flex-content сохраняет ширину своего текста, элемент с flex-initial сжимается и переносит строку.

flex-none на элементе 2, flex-1 на остальных
Короткий Элемент с длинным текстом Средний текст
flex-content на элементе 2, flex-1 на остальных
Короткий Элемент с длинным текстом Средний текст
flex-initial на элементе 2, flex-1 на остальных
Короткий Элемент с длинным текстом Средний текст

Классы

Класс CSS Значения
flex-1 flex: 1 1 0% —
flex-auto flex: 1 1 auto —
flex-content flex: 1 0 auto —
flex-initial flex: 0 1 auto —
flex-none flex: none —

Условия (что это): ширина экрана — sm:, md:, lg:, xl:, xxl:; состояния — нет. Например: sm:flex-1.

Классы и переменные собраны из CSS выпуска и обновляются вместе с ним.

Применение

Как выбрать

Класс Растёт Сжимается Начинает с
flex-1 да да нуля — элементы делят место поровну
flex-auto да да своего размера
flex-content да нет своего размера
flex-initial нет да своего размера
flex-none нет нет своего размера

flex-initial повторяет значение по умолчанию у флекс-элемента; класс нужен, чтобы вернуть его на другой ширине экрана.

Колонки равной ширины

HTML
<div class="flex gap-2">
  <div class="flex-1">Колонка</div>
  <div class="flex-1">Колонка с длинным текстом</div>
  <div class="flex-1">Колонка</div>
</div>

Боковая панель и основная область

HTML
<div class="flex gap-2">
  <aside class="flex-none w-g0">Панель фиксированной ширины</aside>
  <main class="flex-1 min-w-0">Основная область</main>
</div>

Ограничения

  • Классы действуют только на прямого потомка флекс-контейнера.
  • flex-1 не делает элемент уже его самого длинного слова или картинки; для этого добавьте min-w-0.
  • flex на этой странице — значение свойства у элемента. Класс flex, который делает элемент флекс-контейнером, описан на странице Метод отображения элемента.

См. также

Settings

Тема
Font size
Page width