flex

Utilities for controlling how flex items both grow and shrink.

2025-03-04

Written by: tdtc

ClassStyles
flex-<number>flex: <number>;
flex-<fraction>flex: calc(<fraction> * 100%);
flex-autoflex: 1 1 auto;
flex-initialflex: 0 1 auto;
flex-noneflex: none;
flex-(<custom-property>)flex: var(<custom-property>);
flex-[<value>]flex: <value>;

flex

Basic example

Use flex- utilities like flex-1 to allow a flex item to grow and shrink as needed, ignoring its initial size:

<div class="flex">
  <div class="w-14 flex-none ...">01</div>
  <div class="w-64 flex-1 ...">02</div>
  <div class="w-32 flex-1 ...">03</div>
</div>

Initial

Use flex-initial to allow a flex item to shrink but not grow, taking into account its initial size:

<div class="flex">
  <div class="w-14 flex-none ...">01</div>
  <div class="w-64 flex-initial ...">02</div>
  <div class="w-32 flex-initial ...">03</div>
</div>

Auto

Use flex-auto to allow a flex item to grow and shrink, taking into account its initial size:

<div class="flex ...">
  <div class="w-14 flex-none ...">01</div>
  <div class="w-64 flex-auto ...">02</div>
  <div class="w-32 flex-auto ...">03</div>
</div>

None

Use flex-none to prevent a flex item from growing or shrinking:

<div class="flex ...">
  <div class="w-14 flex-none ...">01</div>
  <div class="w-32 flex-none ...">02</div>
  <div class="flex-1 ...">03</div>
</div>

Using a custom value

Use the flex-[] syntax to set the flex shorthand property based on a completely custom value:

<div class="flex-[3_1_auto] ...">
  <!-- ... -->
</div>

Ref