Flex wrap helps items in a container move to the next line when there is not enough space. This keeps your layout neat and readable on all screen sizes.
Flex wrap behavior in Tailwind
flex-wrap flex-nowrap flex-wrap-reverse
flex-wrap allows items to wrap onto multiple lines.
flex-nowrap keeps all items on one line (default).
flex-wrap-reverse wraps items onto multiple lines in reverse order.
flex-wrap so boxes wrap to next line if needed.<div class="flex flex-wrap"> <div class="w-40 h-20 bg-blue-400 m-1">Box 1</div> <div class="w-40 h-20 bg-green-400 m-1">Box 2</div> <div class="w-40 h-20 bg-red-400 m-1">Box 3</div> <div class="w-40 h-20 bg-yellow-400 m-1">Box 4</div> </div>
flex-nowrap so all boxes stay on one line and may overflow horizontally.<div class="flex flex-nowrap"> <div class="w-40 h-20 bg-blue-400 m-1">Box 1</div> <div class="w-40 h-20 bg-green-400 m-1">Box 2</div> <div class="w-40 h-20 bg-red-400 m-1">Box 3</div> <div class="w-40 h-20 bg-yellow-400 m-1">Box 4</div> </div>
flex-wrap-reverse so wrapped lines appear above the first line.<div class="flex flex-wrap-reverse"> <div class="w-40 h-20 bg-blue-400 m-1">Box 1</div> <div class="w-40 h-20 bg-green-400 m-1">Box 2</div> <div class="w-40 h-20 bg-red-400 m-1">Box 3</div> <div class="w-40 h-20 bg-yellow-400 m-1">Box 4</div> </div>
This example shows a flex container with flex-wrap. When the window is narrow, boxes move to the next line to stay fully visible. This keeps the layout clean and easy to read.
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1" /> <title>Flex Wrap Behavior Example</title> <script src="https://cdn.tailwindcss.com"></script> </head> <body class="p-6"> <h1 class="text-xl font-semibold mb-4">Flex Wrap Behavior Demo</h1> <p class="mb-4">Resize the browser window to see how boxes wrap inside the container.</p> <section aria-label="Flex wrap example"> <div class="flex flex-wrap border border-gray-400 p-2"> <div class="w-40 h-20 bg-blue-400 m-1 flex items-center justify-center text-white font-bold">Box 1</div> <div class="w-40 h-20 bg-green-400 m-1 flex items-center justify-center text-white font-bold">Box 2</div> <div class="w-40 h-20 bg-red-400 m-1 flex items-center justify-center text-white font-bold">Box 3</div> <div class="w-40 h-20 bg-yellow-400 m-1 flex items-center justify-center text-black font-bold">Box 4</div> </div> </section> </body> </html>
Use flex-wrap to make your layout responsive and avoid horizontal scrolling.
flex-nowrap can cause overflow if items don't fit in one line.
flex-wrap-reverse changes the order of wrapped lines visually.
Flex wrap controls if flex items stay in one line or wrap to new lines.
Use flex-wrap to keep content neat on small screens.
Tailwind classes: flex-wrap, flex-nowrap, flex-wrap-reverse.
Practice
flex-wrap do to flex items inside a container?Solution
Step 1: Understand flex-wrap behavior
Theflex-wrapclass in Tailwind allows flex items to wrap onto multiple lines if they don't fit in one row.Step 2: Compare with other options
flex-nowrapprevents wrapping,flex-wrap-reversewraps in reverse order, and centering is unrelated.Final Answer:
Allows flex items to move to the next line when they don't fit in one row -> Option AQuick Check:
flex-wrap = wrap items to next line [OK]
- Confusing flex-wrap with flex-nowrap
- Thinking flex-wrap reverses item order
- Assuming flex-wrap centers items
Solution
Step 1: Identify the class that stops wrapping
The classflex-nowrapkeeps all flex items on a single line without wrapping.Step 2: Check other classes
flex-wrapallows wrapping,flex-wrap-reversewraps in reverse order, andflex-centeris not a valid Tailwind class.Final Answer:
flex-nowrap -> Option CQuick Check:
nowrap means no wrapping [OK]
- Choosing flex-wrap instead of flex-nowrap
- Confusing flex-wrap-reverse with nowrap
- Using non-existent class flex-center
<div class="flex flex-wrap"> <div class="w-1/3">Box 1</div> <div class="w-1/3">Box 2</div> <div class="w-1/3">Box 3</div> <div class="w-1/3">Box 4</div> </div>
How will the boxes be arranged on a wide screen?
Solution
Step 1: Calculate total width per row
Each box is set to width 1/3 (about 33.33%). Three boxes fit in one row (3 x 33.33% = 100%). The fourth box cannot fit in the same row.Step 2: Understand flex-wrap effect
Becauseflex-wrapis used, the fourth box wraps to the next line, creating a second row with one box.Final Answer:
Three boxes in the first row, one box wrapped to second row -> Option AQuick Check:
flex-wrap + widths > 100% causes wrapping [OK]
- Assuming all boxes fit in one row
- Ignoring flex-wrap effect
- Thinking boxes stack vertically without flex-wrap
flex-wrap but items wrap top to bottom.Solution
Step 1: Understand the difference between wrap classes
flex-wrapwraps items normally (top to bottom). To wrap in reverse order (bottom to top), useflex-wrap-reverse.Step 2: Check other options
flex-nowrapdisables wrapping,flex-row-reversereverses horizontal order but not wrap direction,flex-colchanges flex direction vertically.Final Answer:
Add flex-wrap-reverse instead of flex-wrap -> Option BQuick Check:
flex-wrap-reverse reverses wrap direction [OK]
- Using flex-nowrap disables wrapping
- Confusing flex-row-reverse with wrap direction
- Replacing flex-wrap with flex-col changes layout direction
flex-wrap and several items with fixed widths. On small screens, items overflow horizontally. How can you fix this using Tailwind classes?Solution
Step 1: Identify overflow cause
Fixed width items withflex-wrapcan overflow container on small screens if total width exceeds viewport.Step 2: Apply horizontal scroll
Addingoverflow-x-autoon the container allows horizontal scrolling, preventing content cutoff without breaking layout.Final Answer:
Add overflow-x-auto to container to enable horizontal scroll -> Option DQuick Check:
overflow-x-auto fixes horizontal overflow [OK]
- Using flex-nowrap causes more overflow
- Setting fixed pixel widths ignores responsiveness
- Trying responsive nowrap incorrectly
Ready to prove it?
Pass the test and this pattern moves unknown
