Direction, Wrapping, and Growth
Tailwind CSS gives you precise control over how flex items are arranged, wrapped, and scaled inside a flex container.
1️⃣ Flex Direction
Use flex-row
, flex-col
, and their reverse versions to set direction.
<div class="flex flex-col">
<div class="bg-blue-500 text-white p-2">Item A</div>
<div class="bg-green-500 text-white p-2">Item B</div>
</div>
Item A
Item B
flex-row
(default): horizontal (left to right)flex-row-reverse
: horizontal (right to left)flex-col
: vertical (top to bottom)flex-col-reverse
: vertical (bottom to top)
2️⃣ Flex Wrapping
Use wrapping utilities to control whether flex items stay on one line or wrap to multiple lines.
flex-nowrap
: items stay in a single lineflex-wrap
: wrap to the next line if needed dark:bg-gray-900
flex-wrap-reverse
: wrap in reverse direction
<div class="flex flex-wrap gap-2">
<div class="w-40 h-20 bg-pink-500 text-white p-2">Box 1</div>
<div class="w-40 h-20 bg-purple-500 text-white p-2">Box 2</div>
<div class="w-40 h-20 bg-indigo-500 text-white p-2">Box 3</div>
</div>
Box 1
Box 2
Box 3
3️⃣ Flex Grow, Shrink, and Basis
Use these utilities to control how items expand or contract relative to other items.
flex-grow
: allow an item to growflex-shrink
: allow an item to shrinkbasis-{size}
: initial size before growing/shrinking
<div class="flex space-x-2">
<div class="flex-grow bg-yellow-500 text-white p-4">Grow 1</div>
<div class="flex-grow bg-orange-500 text-white p-4">Grow 2</div>
</div>
Grow 1
Grow 2
🧠 Quick Tip
Use basis-1/2
or basis-full
to control item size with great flexibility!