Responsive layouts
Breakpoints
| Prefix | Min Width | Example Usage |
|---|
sm: | 640px | sm:text-lg → applies at > 640px |
md: | 768px | md:flex-row → applies at > 768px |
lg: | 1024px | lg:grid-cols-3 → applies at > 1024px |
xl: | 1280px | xl:p-8 → applies at > 1280px |
2xl: | 1536px | 2xl:text-2xl → applies at > 1536px |
Grid layouts
1
2
3
4
| <div class="grid grid-cols-1 md:grid-cols-2 gap-4">
<div>Column 1</div>
<div>Column 2</div>
</div>
|
1
| <div class="p-2 md:p-4 lg:p-8">Responsive padding</div>
|
positioning with flexbox
center element
1
2
3
4
| <div class="flex items-center justify-center h-screen">
<p>Centered</p>
</div>
|
3 even columns with flexbox
1
2
3
4
5
| <div class="flex">
<div class="basis-1/3 bg-red-200 p-4">Column 1</div>
<div class="basis-1/3 bg-green-200 p-4">Column 2</div>
<div class="basis-1/3 bg-blue-200 p-4">Column 3</div>
</div>
|
space between elements
1
2
3
4
| <div class="flex justify-between">
<div class="bg-blue-500 p-4">Left</div>
<div class="bg-red-500 p-4">Right</div>
</div>
|
row / column (mobile first)
1
2
3
4
| <div class="flex flex-col md:flex-row">
<div class="flex-1">Left</div>
<div class="flex-1">Right</div>
</div>
|
Widths
| Class | Description | CSS Value |
|---|
w-0 | Width 0 | 0rem / 0px |
w-px | Width of 1px | 1px |
w-0.5 | Width 0.125rem | 2px |
w-1 | Width 0.25rem | 4px |
w-1.5 | Width 0.375rem | 6px |
w-2 | Width 0.5rem | 8px |
w-2.5 | Width 0.625rem | 10px |
w-3 | Width 0.75rem | 12px |
w-3.5 | Width 0.875rem | 14px |
w-4 | Width 1rem | 16px |
w-5 | Width 1.25rem | 20px |
w-6 | Width 1.5rem | 24px |
w-8 | Width 2rem | 32px |
w-10 | Width 2.5rem | 40px |
w-12 | Width 3rem | 48px |
w-16 | Width 4rem | 64px |
w-20 | Width 5rem | 80px |
w-24 | Width 6rem | 96px |
w-32 | Width 8rem | 128px |
w-40 | Width 10rem | 160px |
w-48 | Width 12rem | 192px |
w-56 | Width 14rem | 224px |
w-64 | Width 16rem | 256px |
w-72 | Width 18rem | 288px |
w-80 | Width 20rem | 320px |
w-96 | Width 24rem | 384px |
w-auto | Auto width | auto |
w-full | Full width of parent | 100% |
w-screen | Full width of viewport | 100vw |
w-min | Width = min-content | min-content |
w-max | Width = max-content | max-content |
w-fit | Width = fit-content | fit-content |
w-1/2 | Half width | 50% |
w-1/3 | One third | 33.333% |
w-2/3 | Two thirds | 66.666% |
w-1/4 | One quarter | 25% |
w-2/4 | Two quarters | 50% |
w-3/4 | Three quarters | 75% |
w-1/5 | One fifth | 20% |
w-2/5 | Two fifths | 40% |
w-3/5 | Three fifths | 60% |
w-4/5 | Four fifths | 80% |
w-1/6 | One sixth | 16.666% |
w-2/6 | Two sixths | 33.333% |
w-3/6 | Three sixths | 50% |
w-4/6 | Four sixths | 66.666% |
w-5/6 | Five sixths | 83.333% |
w-1/12 | One twelfth | 8.333% |
w-2/12 | Two twelfths | 16.666% |
w-3/12 | Three twelfths | 25% |
w-4/12 | Four twelfths | 33.333% |
w-5/12 | Five twelfths | 41.666% |
w-6/12 | Six twelfths | 50% |
w-7/12 | Seven twelfths | 58.333% |
w-8/12 | Eight twelfths | 66.666% |
w-9/12 | Nine twelfths | 75% |
w-10/12 | Ten twelfths | 83.333% |
w-11/12 | Eleven twelfths | 91.666% |
w-[100px] | Arbitrary fixed width | 100px |
w-[50%] | Arbitrary percentage width | 50% |
w-[calc(100%-2rem)] | Arbitrary calc expression | calc(100% - 2rem) |
Typography
predefined color classes
1
2
3
4
5
6
| <p class="text-red-500">Red text</p>
<p class="bg-slate-100 text-slate-800">
Light slate background, dark slate text
</p>
<p class="text-blue-700">Blue text</p>
<p class="bg-gradient-to-r from-pink-500 to-yellow-500">Gradient background</p>
|
center text
Tailwind columns
Grid
1
2
3
4
5
| <div class="grid grid-cols-3 gap-4">
<div class="bg-blue-200 p-4">Column 1</div>
<div class="bg-blue-300 p-4">Column 2</div>
<div class="bg-blue-400 p-4">Column 3</div>
</div>
|
Flexbox
Use flex-1 so columns expand equally:
1
2
3
4
5
| <div class="flex flex-col md:flex-row h-64">
<div class="flex-1 bg-red-300">Column 1</div>
<div class="flex-1 bg-green-300">Column 2</div>
<div class="flex-1 bg-blue-300">Column 3</div>
</div>
|
Padding
Padding (p, px, py, pt, pr, pb, pl)
All sides: p-{n} X-axis (left + right): px-{n} Y-axis (top + bottom): py-{n} Individual sides: pt-{n} → top pr-{n} → right pb-{n} → bottom pl-{n} → left
1
2
3
| <div class="p-4">padding: 1rem all sides</div>
<div class="px-6">padding-left/right: 1.5rem</div>
<div class="pt-2">padding-top: 0.5rem</div>
|
| Class | rem value | px value |
|---|
p-0 | 0rem | 0px |
p-0.5 | 0.125rem | 2px |
p-1 | 0.25rem | 4px |
p-1.5 | 0.375rem | 6px |
p-2 | 0.5rem | 8px |
p-2.5 | 0.625rem | 10px |
p-3 | 0.75rem | 12px |
p-3.5 | 0.875rem | 14px |
p-4 | 1rem | 16px |
p-5 | 1.25rem | 20px |
p-6 | 1.5rem | 24px |
p-7 | 1.75rem | 28px |
p-8 | 2rem | 32px |
p-9 | 2.25rem | 36px |
p-10 | 2.5rem | 40px |
p-11 | 2.75rem | 44px |
p-12 | 3rem | 48px |
p-14 | 3.5rem | 56px |
p-16 | 4rem | 64px |
p-20 | 5rem | 80px |
p-24 | 6rem | 96px |
p-28 | 7rem | 112px |
p-32 | 8rem | 128px |
p-36 | 9rem | 144px |
p-40 | 10rem | 160px |
p-44 | 11rem | 176px |
p-48 | 12rem | 192px |
p-52 | 13rem | 208px |
p-56 | 14rem | 224px |
p-60 | 15rem | 240px |
p-64 | 16rem | 256px |
p-72 | 18rem | 288px |
p-80 | 20rem | 320px |
p-96 | 24rem | 384px |
Margin
1
2
3
| <div class="m-8">margin: 2rem all sides</div>
<div class="mx-auto">center horizontally</div>
<div class="-mt-4">negative top margin</div>
|
Gaps
1
2
3
4
5
6
7
| <div class="grid grid-cols-3 gap-4">
<div>1</div><div>2</div><div>3</div>
</div>
<div class="flex gap-x-6">
<span>A</span><span>B</span><span>C</span>
</div>
|
| Class | Size (rem) | Pixels |
|---|
0 | 0rem | 0px |
0.5 | 0.125rem | 2px |
1 | 0.25rem | 4px |
1.5 | 0.375rem | 6px |
2 | 0.5rem | 8px |
2.5 | 0.625rem | 10px |
3 | 0.75rem | 12px |
3.5 | 0.875rem | 14px |
4 | 1rem | 16px |
5 | 1.25rem | 20px |
6 | 1.5rem | 24px |
8 | 2rem | 32px |
10 | 2.5rem | 40px |
12 | 3rem | 48px |
16 | 4rem | 64px |
20 | 5rem | 80px |
24 | 6rem | 96px |
32 | 8rem | 128px |
40 | 10rem | 160px |
48 | 12rem | 192px |
56 | 14rem | 224px |
64 | 16rem | 256px |
72 | 18rem | 288px |
80 | 20rem | 320px |
96 | 24rem | 384px |
Font weights
| Class | CSS Property | Value |
|---|
font-thin | font-weight: 100; | Thin |
font-extralight | font-weight: 200; | Extra Light |
font-light | font-weight: 300; | Light |
font-normal | font-weight: 400; | Normal (Regular) |
font-medium | font-weight: 500; | Medium |
font-semibold | font-weight: 600; | Semi Bold |
font-bold | font-weight: 700; | Bold |
font-extrabold | font-weight: 800; | Extra Bold |
font-black | font-weight: 900; | Black (Heaviest) |
1
2
| <h1 class="font-bold text-2xl">Bold Heading</h1>
<p class="font-light text-gray-600">This is light text.</p>
|