See also: Expert Cheatsheet
Core Concepts
What is Tailwind?
Tailwind is a utility-first CSS framework. This means that instead of writing CSS rules yourself, you use special classes in your HTML to style your elements. It’s like having a huge set of Lego blocks that you can use to build any design you want.
<div class="p-6 max-w-sm mx-auto bg-white rounded-xl shadow-md flex items-center space-x-4">
<!-- This looks complex, but it's just a set of instructions! -->
</div>
Responsive Design
One of Tailwind’s superpowers is making your site look good on any screen size. You can apply different styles for small (sm
), medium (md
), large (lg
), and extra-large (xl
) screens.
<!-- This image gets wider on bigger screens -->
<img class="w-16 md:w-32 lg:w-48" src="...">
Hover and Focus States
You can easily change how an element looks when a user interacts with it, like when they hover their mouse over a button or select an input field.
<!-- This button changes color on hover -->
<button class="bg-blue-500 hover:bg-blue-700 text-white font-bold py-2 px-4 rounded">
Click me
</button>
Default Breakpoints
These are the screen sizes where your responsive styles will kick in.
Breakpoint | Minimum Width | Typical Device |
---|---|---|
sm |
640px | Small tablets, large phones |
md |
768px | Tablets |
lg |
1024px | Small laptops |
xl |
1280px | Desktops |
2xl |
1536px | Large desktops |
Flexbox Layout
Creating a Flex Container
Use these classes to create a flexbox container, which is a powerful way to arrange items.
Class | Description |
---|---|
flex |
Makes items arrange in a row or column. |
inline-flex |
Like flex , but doesn’t take up the full width. |
flex-row |
Arranges items in a row (left to right). |
flex-col |
Stacks items in a column (top to bottom). |
flex-wrap |
Allows items to wrap to the next line if they run out of space. |
flex-nowrap |
Prevents items from wrapping. |
Alignment and Spacing
These classes help you position and space out the items inside a flex container.
Class | Description |
---|---|
justify-center |
Centers items horizontally. |
justify-between |
Pushes items to the edges, with even space between them. |
items-center |
Centers items vertically. |
Grid Layout
Creating a Grid
Grid is another powerful layout tool, great for creating two-dimensional layouts (rows and columns).
Class | Description |
---|---|
grid |
Turns an element into a grid container. |
inline-grid |
A grid container that doesn’t take up the full width. |
gap-4 |
Adds space between all grid items. |
gap-x-4 |
Adds space only between columns. |
gap-y-4 |
Adds space only between rows. |
Spanning Items
You can make an item take up more than one column or row.
Class | Description |
---|---|
grid-cols-3 |
Creates a grid with 3 equal-width columns. |
grid-rows-3 |
Creates a grid with 3 equal-height rows. |
col-span-2 |
Makes an item span across 2 columns. |
row-span-2 |
Makes an item span across 2 rows. |
Spacing
Padding
Padding adds space inside an element’s border. Think of it as cushioning.
Class | Description |
---|---|
p-4 |
Adds padding on all sides. |
px-4 |
Adds padding on the left and right. |
py-4 |
Adds padding on the top and bottom. |
pt-4 |
Adds padding only to the top. |
Margin
Margin adds space outside an element’s border, pushing other elements away.
Class | Description |
---|---|
m-4 |
Adds margin on all sides. |
mx-auto |
Centers an element horizontally. |
my-4 |
Adds margin on the top and bottom. |
mt-4 |
Adds margin only to the top. |
Sizing
Width
Control the width of your elements.
Class | Description |
---|---|
w-4 |
Sets a fixed width (e.g., 1rem or 16px ). |
w-1/2 |
Sets the width to 50% of its container. |
w-full |
Sets the width to 100% of its container. |
w-screen |
Sets the width to 100% of the screen. |
w-auto |
The browser calculates the width. |
Height
Control the height of your elements.
Class | Description |
---|---|
h-4 |
Sets a fixed height (e.g., 1rem or 16px ). |
h-full |
Sets the height to 100% of its container. |
h-screen |
Sets the height to 100% of the screen. |
h-auto |
The browser calculates the height. |
Typography
Font Size
Control the size of your text.
Class | Description |
---|---|
text-sm |
Small text. |
text-base |
Normal, default text size. |
text-lg |
Large text. |
text-xl |
Extra large text. |
Font Weight
Control how bold your text is.
Class | Description |
---|---|
font-light |
Light text. |
font-normal |
Normal text weight. |
font-medium |
A bit bolder than normal. |
font-bold |
Bold text. |
Text Color
Change the color of your text.
Class | Description |
---|---|
text-black |
Black text. |
text-white |
White text. |
text-gray-500 |
A medium shade of gray. |
text-red-500 |
A medium shade of red. |