In the previous lesson, we learned how to use Flexbox in TailwindCSS to align and arrange items horizontally or vertically. Flexbox is great for one-dimensional layouts — like navbars and item rows.
But what if we want to create:
For these structures, the best tool is:
CSS Grid — and TailwindCSS makes it incredibly easy.
| Concept | Purpose |
|---|---|
grid | Enable grid layout |
grid-cols-* | Control number of columns |
gap-* | Add spacing between grid items |
| Responsive grid classes | Make layouts adapt to screen sizes |
Let’s start building 👇
grid)Activating grid is simple:
<div class="grid"><div>Item 1</div><div>Item 2</div><div>Item 3</div></div>
Now we need to tell the grid how many columns it should have.
grid-cols-*)<div class="grid grid-cols-3 gap-4"><div class="bg-gray-200 p-4">A</div><div class="bg-gray-200 p-4">B</div><div class="bg-gray-200 p-4">C</div></div>
This creates 3 equal columns with spacing between them.
Common column utilities:
| Class | Layout |
|---|---|
grid-cols-1 | One column |
grid-cols-2 | Two columns |
grid-cols-3 | Three columns |
grid-cols-4 | Four columns |
gap-*)Just like flexbox, gap-* works beautifully with grid:
<div class="grid grid-cols-2 gap-6"><div class="bg-blue-200 p-6">Item</div><div class="bg-blue-200 p-6">Item</div></div>
gap-6 = evenly spaced layout → clean & modern.
Tailwind’s responsive system works perfectly with grid.
<div class="grid grid-cols-1 sm:grid-cols-2 md:grid-cols-3 lg:grid-cols-4 gap-6"><div class="bg-gray-100 p-4">Card 1</div><div class="bg-gray-100 p-4">Card 2</div><div class="bg-gray-100 p-4">Card 3</div><div class="bg-gray-100 p-4">Card 4</div></div>
This means:
✅ Perfect for galleries and product grids.
<section class="p-8"><h2 class="text-2xl font-bold mb-6">Photo Gallery</h2><div class="grid grid-cols-1 sm:grid-cols-2 md:grid-cols-3 gap-4"><img src="https://picsum.photos/300/200?1" class="rounded shadow" /><img src="https://picsum.photos/300/200?2" class="rounded shadow" /><img src="https://picsum.photos/300/200?3" class="rounded shadow" /><img src="https://picsum.photos/300/200?4" class="rounded shadow" /><img src="https://picsum.photos/300/200?5" class="rounded shadow" /><img src="https://picsum.photos/300/200?6" class="rounded shadow" /></div></section>
What’s happening here:
grid grid-cols-1 sm:grid-cols-2 md:grid-cols-3 → responsive layoutgap-4 → nice spacingrounded shadow → polished UIBeautiful, simple, fast ✨
| Tailwind Utility | Usage |
|---|---|
grid | Enables CSS Grid layout |
grid-cols-* | Sets number of columns |
gap-* | Spacing between items |
sm:*, md:*, lg:* | Responsive breakpoints |
Grid + Responsive classes = Professional layouts in seconds