Flex basis and sizing help control how much space a flexible item takes inside a container. It makes layouts neat and balanced.
Flex basis and sizing in Tailwind
flex-basis-{size}
flex-grow
flex-shrink
basis-{size}
min-w-{size}
max-w-{size}flex-basis sets the initial size of a flex item before it grows or shrinks.
In Tailwind, basis-{size} sets flex-basis, and flex-grow or flex-shrink control growing or shrinking.
<div class="flex"> <div class="basis-1/4">Box 1</div> <div class="basis-1/2">Box 2</div> <div class="basis-1/4">Box 3</div> </div>
<div class="flex"> <div class="basis-32">Fixed 8rem width</div> <div class="flex-grow">Grows to fill space</div> </div>
<div class="flex"> <div class="basis-1/3 flex-shrink-0">No shrink</div> <div class="basis-2/3">Shrinks if needed</div> </div>
This page shows a flex container with three boxes sized by flex-basis using Tailwind's basis-1/4 and basis-1/2 classes. The boxes have background colors and padding for clarity.
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1" /> <title>Flex Basis and Sizing Example</title> <script src="https://cdn.tailwindcss.com"></script> </head> <body class="p-6"> <h1 class="text-xl font-bold mb-4">Flex Basis and Sizing with Tailwind</h1> <div class="flex border border-gray-400 rounded"> <div class="basis-1/4 bg-blue-300 p-4 text-center">25% width</div> <div class="basis-1/2 bg-green-300 p-4 text-center">50% width</div> <div class="basis-1/4 bg-red-300 p-4 text-center">25% width</div> </div> </body> </html>
Use basis-{size} to set the starting size of a flex item.
Combine with flex-grow or flex-shrink to control how items grow or shrink.
Sizes can be fractions like basis-1/3, fixed units like basis-32 (8rem), or custom values.
Flex basis sets the initial size of a flex item before it grows or shrinks.
Tailwind uses basis-{size} classes to control flex basis easily.
Combine flex basis with grow and shrink classes for flexible, responsive layouts.
Practice
basis-1/3 do in a flex container?Solution
Step 1: Understand flex basis meaning
Flex basis sets the starting size of a flex item before growing or shrinking.Step 2: Interpret
This class sets the flex basis to one-third of the container's main size, not forcing exact size but initial size.basis-1/3in TailwindFinal Answer:
Sets the initial size of the flex item to one-third of the container's main size -> Option BQuick Check:
Flex basis = initial size = one-third [OK]
- Confusing basis with grow or shrink
- Thinking basis fixes size exactly
- Assuming basis prevents shrinking
Solution
Step 1: Recall Tailwind sizing scale
Tailwind uses numeric scale where64equals 16rem (4rem * 16).Step 2: Match class syntax
The correct class isbasis-64to set basis to 16rem, no 'rem' suffix used.Final Answer:
basis-64 -> Option DQuick Check:
basis-64 = 16rem in Tailwind [OK]
- Adding 'rem' suffix in class name
- Using wrong numeric scale
- Confusing basis with width classes
<div class="flex w-96"> <div class="basis-1/4 bg-blue-500">Box 1</div> <div class="basis-1/2 bg-red-500">Box 2</div> <div class="basis-1/4 bg-green-500">Box 3</div> </div>
What will be the width of
Box 2 inside the 24rem wide container?Solution
Step 1: Calculate container width in rem
The container width is 24rem (w-96 means 24rem).Step 2: Calculate Box 2 basis size
Box 2 hasbasis-1/2, so initial size is half of 24rem = 12rem.Final Answer:
12rem -> Option CQuick Check:
Half of 24rem = 12rem [OK]
- Confusing basis fraction with grow factor
- Using container width in px instead of rem
- Adding basis sizes instead of calculating individually
<div class="flex"> <div class="basis-2/3">Item 1</div> <div class="basis-1/2">Item 2</div> </div>
But the items overflow the container width. What is the main reason?
Solution
Step 1: Calculate the sum of basis fractions
2/3 + 1/2 = 4/6 + 3/6 = 7/6 > 1.Step 2: Understand the effect
When the sum of flex-basis values exceeds 1, it causes the flex items to overflow the container.Final Answer:
The sum of basis sizes (2/3 + 1/2) exceeds 1, causing overflow -> Option AQuick Check:
Sum of basis fractions > 1 causes overflow [OK]
- Assuming basis fractions always fit container
- Ignoring default flex shrink behavior
- Confusing grow with shrink effects
Solution
Step 1: Set correct basis classes
Usebasis-1/4for 25% andbasis-1/2for 50% widths.Step 2: Apply grow classes
Tailwind usesgrowfor flex-grow:1 and[flex-grow:2]for flex-grow:2.Step 3: Assign grow classes to items
First and third items getgrow, middle item gets[flex-grow:2]to grow twice as fast.Final Answer:
basis-1/4 grow,basis-1/2 [flex-grow:2],basis-1/4 grow-> Option AQuick Check:
Usegrowand[flex-grow:2]with basis fractions [OK]
- Using non-existent flex-grow-1 class
- Combining grow and grow-2 on same element
- Forgetting to set basis sizes
Ready to prove it?
Pass the test and this pattern moves unknown
