Bird
Raised Fist0
Tailwindmarkup~20 mins

Grid auto-flow and placement in Tailwind - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Grid Mastery Badge
Get all challenges correct to earn this badge!
Test your skills under time pressure!
🧠 Conceptual
intermediate
2:00remaining
How does grid-auto-flow: row behave in Tailwind CSS?
In Tailwind CSS, what is the effect of using grid-auto-flow: row on grid item placement?
AItems fill each column before moving to the next column.
BItems fill each row before moving to the next row.
CItems are placed randomly without following rows or columns.
DItems overlap each other in the same grid cell.
Attempts:
2 left
💡 Hint
Think about how rows and columns are filled in a grid layout.
📝 Syntax
intermediate
2:00remaining
Which Tailwind class sets grid-auto-flow: column?
You want your grid items to fill columns first before moving to the next column. Which Tailwind CSS class achieves this?
Agrid-flow-col
Bgrid-flow-row
Cauto-flow-column
Dgrid-auto-column
Attempts:
2 left
💡 Hint
Tailwind uses short, descriptive class names for grid flow directions.
❓ rendering
advanced
3:00remaining
What is the visual result of this Tailwind grid layout?
Given this HTML and Tailwind CSS, what will the grid items look like in the browser?

<div class="grid grid-cols-3 grid-flow-row auto-rows-fr gap-2">
  <div class="bg-blue-500">1</div>
  <div class="bg-green-500">2</div>
  <div class="bg-red-500">3</div>
  <div class="bg-yellow-500">4</div>
</div>
Tailwind
<div class="grid grid-cols-3 grid-flow-row auto-rows-fr gap-2">
  <div class="bg-blue-500">1</div>
  <div class="bg-green-500">2</div>
  <div class="bg-red-500">3</div>
  <div class="bg-yellow-500">4</div>
</div>
AFour boxes arranged in two rows: first row has 3 boxes, second row has 1 box.
BBoxes overlap in the first grid cell.
CFour boxes stacked vertically in one column.
DFour boxes arranged in a single row with equal width columns.
Attempts:
2 left
💡 Hint
Consider how 4 items fill 3 columns with row flow.
❓ selector
advanced
2:00remaining
Which Tailwind class correctly places an item at column 2, row 3?
You want a grid item to start at column 2 and row 3 in a Tailwind CSS grid. Which class combination achieves this?
Acolumn-2 row-3
Bstart-col-2 start-row-3
Cgrid-col-2 grid-row-3
Dcol-start-2 row-start-3
Attempts:
2 left
💡 Hint
Tailwind uses col-start- and row-start- for grid placement.
❓ accessibility
expert
3:00remaining
How to ensure keyboard users can navigate a grid with auto-flow placement?
You have a grid with grid-auto-flow: column in Tailwind CSS. What is the best way to ensure keyboard users navigate the grid items in a logical order?
ASet tabindex="0" on all grid items and rely on DOM order matching visual order.
BUse <code>aria-flowto</code> attributes to define navigation order explicitly.
CRearrange the DOM order to match the visual column-first placement of grid items.
DNo special action needed; keyboard navigation always follows visual grid order.
Attempts:
2 left
💡 Hint
Keyboard navigation follows DOM order, not visual layout.

Practice

(1/5)
1. What does the Tailwind class grid-flow-row do in a grid container?
easy
A. It places grid items in rows from left to right, then top to bottom.
B. It places grid items in columns from top to bottom, then left to right.
C. It fills grid gaps by rearranging items densely.
D. It disables grid auto-placement.

Solution

  1. Step 1: Understand grid auto-flow direction

    The class grid-flow-row sets the grid to place items in rows first, meaning items fill left to right in each row.
  2. Step 2: Confirm placement order

    After filling a row, the next items start on the next row below, continuing left to right again.
  3. Final Answer:

    It places grid items in rows from left to right, then top to bottom. -> Option A
  4. Quick Check:

    grid-flow-row = row-wise placement [OK]
Hint: Row flow means fill left to right, then next row down [OK]
Common Mistakes:
  • Confusing row flow with column flow
  • Thinking dense is automatic without class
  • Assuming grid items stack vertically by default
2. Which Tailwind class correctly applies grid auto-flow to fill columns first and then rows?
easy
A. grid-flow-row
B. grid-auto-flow-col
C. grid-flow-col
D. grid-auto-columns

Solution

  1. Step 1: Identify correct Tailwind syntax for column flow

    The class grid-flow-col sets the grid to fill columns first, placing items top to bottom in each column.
  2. Step 2: Verify other options

    Options grid-auto-flow-col and grid-auto-columns are not valid Tailwind classes for this purpose.
  3. Final Answer:

    grid-flow-col -> Option C
  4. Quick Check:

    grid-flow-col = column-wise placement [OK]
Hint: Use grid-flow-col for column-first placement [OK]
Common Mistakes:
  • Using incorrect class names like grid-auto-flow-col
  • Mixing up row and column flow classes
  • Assuming grid-auto-columns controls flow
3. Given this Tailwind grid container:
<div class="grid grid-cols-3 grid-flow-row-dense gap-2">
  <div class="col-span-2">A</div>
  <div>B</div>
  <div>C</div>
  <div>D</div>
</div>

How will the items be placed visually?
medium
A. A spans first two columns in row 1, B fills third column row 1, C and D fill next row
B. A spans first two columns in row 1, B and C fill next row, D fills gap in row 1
C. A spans first two columns in row 1, B fills third column row 1, D fills gap in row 1, C in next row
D. A spans first two columns in row 1, B, C, D all fill next row

Solution

  1. Step 1: Understand grid-flow-row-dense behavior

    The grid-flow-row-dense class places items row-wise but tries to fill gaps left by spanning items.
  2. Step 2: Analyze item placement

    Item A spans 2 columns in row 1, leaving the 3rd column free. Item B fits in that 3rd column in row 1. Items C and D go to the next row filling columns 1 and 2.
  3. Final Answer:

    A spans first two columns in row 1, B fills third column row 1, C and D fill next row -> Option A
  4. Quick Check:

    Dense fills gaps left by spanning items [OK]
Hint: Dense fills gaps left by spanning items in row flow [OK]
Common Mistakes:
  • Ignoring dense and placing items strictly in order
  • Placing D before C incorrectly
  • Assuming no gap filling happens
4. You wrote this Tailwind grid:
<div class="grid grid-flow-col gap-4">
  <div>1</div>
  <div>2</div>
  <div>3</div>
</div>

But items stack vertically in a single column instead of forming multiple columns. What is the likely mistake?
medium
A. Using grid-flow-col instead of grid-flow-row
B. Missing grid-cols or grid-rows to define grid size
C. gap-4 is causing layout issues
D. Items need explicit width to stack

Solution

  1. Step 1: Check grid container setup

    Using grid-flow-col places items top to bottom in each column, then next column, but without defining the number of columns or rows, the grid defaults to one implicit column.
  2. Step 2: Identify missing grid size

    Without grid-cols-3 or similar, the grid does not create multiple columns, so items stack vertically in one column.
  3. Final Answer:

    Missing grid-cols or grid-rows to define grid size -> Option B
  4. Quick Check:

    Define grid size to control flow layout [OK]
Hint: Always set grid-cols or grid-rows with grid-flow [OK]
Common Mistakes:
  • Assuming grid-flow-col alone creates columns
  • Blaming gap for layout issues
  • Forgetting grid size classes
5. You want a responsive grid that places items in columns on small screens and switches to dense row flow on larger screens. Which Tailwind classes achieve this?
hard
A. grid grid-flow-row sm:grid-flow-row-dense grid-cols-2 sm:grid-cols-4 gap-3
B. grid grid-flow-row-dense sm:grid-flow-col grid-cols-4 sm:grid-cols-2 gap-3
C. grid grid-flow-col-dense sm:grid-flow-row grid-cols-2 sm:grid-cols-4 gap-3
D. grid grid-flow-col sm:grid-flow-row-dense grid-cols-2 sm:grid-cols-4 gap-3

Solution

  1. Step 1: Set default column flow for small screens

    The class grid-flow-col sets column flow by default (small screens).
  2. Step 2: Override with dense row flow on larger screens

    The class sm:grid-flow-row-dense changes flow to dense row on screens medium and up.
  3. Step 3: Adjust columns for responsiveness

    grid-cols-2 for small screens and sm:grid-cols-4 for larger screens set grid size accordingly.
  4. Final Answer:

    grid grid-flow-col sm:grid-flow-row-dense grid-cols-2 sm:grid-cols-4 gap-3 -> Option D
  5. Quick Check:

    Use responsive prefixes to switch flow and columns [OK]
Hint: Use sm: prefix to change flow and columns on bigger screens [OK]
Common Mistakes:
  • Mixing flow directions and breakpoints incorrectly
  • Forgetting to set grid-cols for each breakpoint
  • Using non-existent classes like grid-flow-col-dense
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard