Encodera

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.

Справочник HTML & CSS

flex

Сокращённая запись того, как flex-элемент растёт, сжимается и с какого размера начинает.

Синтаксис

flex: grow shrink basis;

Значения

ПараметрТипОписание
1number`flex: 1` — делить свободное место поровну (`1 1 0`).
grow shrink basisvaluesТри значения: `flex: 1 1 200px`.
nonekeywordФиксированный размер: не растёт и не сжимается.

Примеры

Элементы делят свободное место пропорционально:

<style>
  .row { display: flex; gap: 8px; }
  .row div { padding: 8px; background: lightskyblue; }
</style>
 
<div class="row">
  <div style="flex: 1;">flex: 1</div>
  <div style="flex: 2;">flex: 2 — twice as wide</div>
  <div>auto</div>
</div>

Карточки шириной примерно от 120px, заполняющие каждый ряд:

<style>
  .cards { display: flex; flex-wrap: wrap; gap: 8px; }
  .cards div { flex: 1 1 120px; padding: 8px; background: palegreen; }
</style>
 
<div class="cards"><div>Anna</div><div>Oleg</div><div>Maria</div><div>Ivan</div></div>

Примечания

flex задаётся элементам, а не контейнеру. flex: 1 — самое частое значение: одинаковые колонки, которые занимают всё свободное место.

См. также

  • flex-grow — Какую часть свободного места забирает flex-элемент.
  • flex-shrink — Насколько сжимается flex-элемент, когда места не хватает.
  • flex-basis — Начальный размер flex-элемента вдоль главной оси до раздачи свободного места.
  • display — Определяет, как элемент ведёт себя в потоке и как раскладывает содержимое.

Вопросы и ответы по теме

В учебнике

  • Flex-элементы — Как управлять отдельными элементами во flexbox — flex-grow, flex-shrink, flex-basis, сокращение flex, align-self, order и margin auto.

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.