Here's a quick 20-minute tutorial for learning Tailwind CSS. Tailwind is a utility-first CSS framework that makes it easy to build custom designs without leaving your HTML. The tutorial assumes you already know basic CSS concepts.
1. What is Tailwind CSS? (2 minutes)¶
Tailwind CSS is a utility-first CSS framework. Instead of writing custom CSS, you use utility classes directly in your HTML to style elements. Each utility class corresponds to a single CSS property (e.g., bg-red-500 for background color).
Key Benefits:
- No need to write custom CSS.
- Custom designs quickly by applying pre-built classes.
- Responsive design is simplified with breakpoint prefixes (e.g., md:text-xl).
2. Setting up Tailwind (3 minutes)¶
You can quickly try Tailwind using Tailwind Play, which is an online playground, or by installing Tailwind in a project.
Option 1: CDN Method (For quick practice):
<head>
<link href="https://cdn.jsdelivr.net/npm/tailwindcss@2.2.19/dist/tailwind.min.css" rel="stylesheet">
</head>
This method directly imports Tailwind CSS into your project using a CDN.
Option 2: Full Setup (For real projects):
1. Initialize a project (npm init -y)
2. Install Tailwind:
npm install tailwindcss
- Create a Tailwind config file:
npx tailwindcss init
- Set up your CSS file:
/* ./src/tailwind.css */
@tailwind base;
@tailwind components;
@tailwind utilities;
- Run Tailwind:
npx tailwindcss -i ./src/tailwind.css -o ./dist/output.css --watch
3. Tailwind CSS Basics (5 minutes)¶
Typography¶
text-[size]: For font sizes (e.g.,text-xl,text-2xl).font-[weight]: For font weight (e.g.,font-bold,font-light).
Example:
<h1 class="text-4xl font-bold">Hello, Tailwind!</h1>
<p class="text-base font-light">This is a lightweight paragraph.</p>
Spacing¶
p-[size]: Padding (e.g.,p-4).m-[size]: Margin (e.g.,m-4).
Example:
<div class="p-4 m-6">Content with padding and margin</div>
Colors¶
bg-[color]-[shade]: Background colors (e.g.,bg-blue-500).text-[color]-[shade]: Text colors (e.g.,text-red-500).
Example:
<button class="bg-green-500 text-white p-2">Click Me</button>
Borders and Shadows¶
border-[size]: Borders (e.g.,border-2).rounded-[size]: Border radius (e.g.,rounded-full).shadow-[size]: Box shadows (e.g.,shadow-lg).
Example:
<div class="border-2 border-blue-500 rounded-lg shadow-md p-4">Box with border</div>
4. Flexbox and Grid (4 minutes)¶
Flexbox¶
flex: Makes an element a flex container.justify-[direction]: Justify content (e.g.,justify-center).items-[alignment]: Align items (e.g.,items-center).
Example:
<div class="flex justify-between items-center">
<div>Item 1</div>
<div>Item 2</div>
<div>Item 3</div>
</div>
Grid¶
grid: Makes an element a grid container.grid-cols-[number]: Defines the number of columns.
Example:
<div class="grid grid-cols-3 gap-4">
<div class="bg-red-200">1</div>
<div class="bg-green-200">2</div>
<div class="bg-blue-200">3</div>
</div>
5. Responsive Design (3 minutes)¶
Tailwind makes it easy to create responsive designs using breakpoint prefixes.
sm,md,lg,xlfor breakpoints.- Combine classes with breakpoints (e.g.,
md:text-2xl).
Example:
<h1 class="text-lg md:text-2xl lg:text-4xl">Responsive Heading</h1>
In this case, the heading will be:
- text-lg on small screens.
- text-2xl on medium screens.
- text-4xl on large screens.
6. Customization and Extending Tailwind (3 minutes)¶
You can customize Tailwind's default theme by editing the tailwind.config.js file. Here’s how to add custom colors:
module.exports = {
theme: {
extend: {
colors: {
primary: '#ff6363',
secondary: '#3b82f6',
}
}
}
}
This adds new colors you can use as bg-primary or text-secondary.
7. Final Tips (1 minute)¶
- Use Tailwind documentation for full utility class reference.
- Focus on using Tailwind classes instead of writing custom CSS.
- Experiment in the Tailwind Play to sharpen your skills.
Now you have a basic understanding of Tailwind CSS. You can start applying it in your projects to quickly style websites using utility-first CSS classes!