Skip to content

Flex Layout ​

Class names ​

Horizontal & Vertical Boxes ​

ClassDescription
vboxCombination of flex flex-col
hboxCombination of flex flex-row

Flex ​

ClassDescription
flexdisplay: flex;
flex-rowHorizontal flex.
flex-colVertical flex.
flex-row-reverseReverse order horizontal flex.
flex-col-reverseReverse order vertical flex.
flex-wrapFlex layout with wrapping items.
flex-0flex: 0;
flex-1flex: 1;
flex-autoflex: auto;
flex-noneflex: none;
shrink-0flex-shrink: 0; - prevents a flex item from shrinking below its content size.

flex-row-reverse and flex-col-reverse also support responsive prefixes sm:, md:, lg:, and xl: (e.g. md:flex-row-reverse).

Flex classes

The flex-* classes must be combined with the flex class.

Examples ​

Horizontal box ​

html
<div class="hbox gap-1">
  <span class="bg-primary p-2 text-primary-foreground">1</span>
  <span class="bg-primary p-2 text-primary-foreground">2</span>
  <span class="bg-primary p-2 text-primary-foreground">3</span>
</div>

Vertical box ​

html
<div class="vbox gap-1">
  <span class="bg-primary p-2 text-primary-foreground">1</span>
  <span class="bg-primary p-2 text-primary-foreground">2</span>
  <span class="bg-primary p-2 text-primary-foreground">3</span>
</div>

Horizontal flex ​

html
<div class="flex flex-row gap-1">
  <span class="bg-primary p-2 text-primary-foreground">1</span>
  <span class="bg-primary p-2 text-primary-foreground">2</span>
  <span class="bg-primary p-2 text-primary-foreground">3</span>
</div>

Reverse horizontal flex ​

html
<div class="flex flex-row-reverse gap-1">
  <span class="bg-primary p-2 text-primary-foreground">1</span>
  <span class="bg-primary p-2 text-primary-foreground">2</span>
  <span class="bg-primary p-2 text-primary-foreground">3</span>
</div>

Vertical flex ​

html
<div class="flex h-full flex-col gap-1">
  <span class="bg-primary p-2 text-primary-foreground">1</span>
  <span class="bg-primary p-2 text-primary-foreground">2</span>
  <span class="bg-primary p-2 text-primary-foreground">3</span>
</div>

Reverse vertical flex ​

html
<div class="flex h-full flex-col-reverse gap-1">
  <span class="bg-primary p-2 text-primary-foreground">1</span>
  <span class="bg-primary p-2 text-primary-foreground">2</span>
  <span class="bg-primary p-2 text-primary-foreground">3</span>
</div>

Flex wrap ​

html
<div class="flex flex-row flex-wrap gap-1">
  <span class="bg-primary p-2 text-primary-foreground">1</span>
  <span class="bg-primary p-2 text-primary-foreground">2</span>
  <span class="bg-primary p-2 text-primary-foreground">3</span>
  <span class="bg-primary p-2 text-primary-foreground">4</span>
  <span class="bg-primary p-2 text-primary-foreground">5</span>
  <span class="bg-primary p-2 text-primary-foreground">6</span>
  <span class="bg-primary p-2 text-primary-foreground">7</span>
  <span class="bg-primary p-2 text-primary-foreground">8</span>
  <span class="bg-primary p-2 text-primary-foreground">9</span>
  <span class="bg-primary p-2 text-primary-foreground">10</span>
  <span class="bg-primary p-2 text-primary-foreground">11</span>
  <span class="bg-primary p-2 text-primary-foreground">12</span>
  <span class="bg-primary p-2 text-primary-foreground">13</span>
  <span class="bg-primary p-2 text-primary-foreground">14</span>
  <span class="bg-primary p-2 text-primary-foreground">15</span>
  <span class="bg-primary p-2 text-primary-foreground">16</span>
  <span class="bg-primary p-2 text-primary-foreground">17</span>
  <span class="bg-primary p-2 text-primary-foreground">18</span>
  <span class="bg-primary p-2 text-primary-foreground">19</span>
  <span class="bg-primary p-2 text-primary-foreground">20</span>
  <span class="bg-primary p-2 text-primary-foreground">21</span>
  <span class="bg-primary p-2 text-primary-foreground">22</span>
  <span class="bg-primary p-2 text-primary-foreground">23</span>
  <span class="bg-primary p-2 text-primary-foreground">24</span>
</div>

Flex 1 ​

html
<div class="flex flex-row gap-1">
  <span class="bg-primary p-2 text-primary-foreground">Normal</span>
  <span class="flex-1 bg-primary p-2 text-primary-foreground">Flex 1</span>
</div>

Flex Auto ​

html
<div class="flex flex-row gap-1">
  <span class="flex-auto bg-primary p-2 text-primary-foreground">Auto</span>
  <span class="flex-auto bg-primary p-2 text-primary-foreground">Auto</span>
</div>

Flex none ​

html
<div class="flex flex-row gap-1">
  <span class="flex-none bg-primary p-2 text-primary-foreground">None</span>
  <span class="flex-none bg-primary p-2 text-primary-foreground">None</span>
</div>

Prevent shrinking ​

html
<div class="flex w-3xs flex-row gap-1">
  <span class="shrink-0 bg-primary p-2 text-primary-foreground">Does not shrink</span>
  <span class="bg-primary p-2 text-primary-foreground">Shrinks to fit the remaining space</span>
</div>