Tailwind CSS Best Practices Web Design CSS
Tailwind CSS Best Practices für Agenturen 2026
Jascha Hessenkamp
6 Min. Lesezeit
Nach 50+ Projekten mit Tailwind CSS: Tailwind ist eine Design-Philosophie. Dieser Guide zeigt professionelle Best Practices für skalierbare Agentur-Projekte.
Design Tokens definieren
// tailwind.config.js
export default {
theme: {
extend: {
colors: {
bronze: {
light: '#CBA88F',
DEFAULT: '#B8816B',
dark: '#9A634E',
},
},
spacing: {
'18': '4.5rem',
'88': '22rem',
},
fontFamily: {
sans: ['Inter', 'system-ui', 'sans-serif'],
}
}
}
}
Component Patterns
❌ Anti-Pattern
<!-- Copy-Paste Horror -->
<button class="px-6 py-3 bg-bronze text-white...">Button 1</button>
<button class="px-6 py-3 bg-bronze text-white...">Button 2</button>
✅ Best Practice
---
// Button.astro
const { variant = 'primary', size = 'md' } = Astro.props;
const variants = {
primary: 'bg-bronze text-white hover:bg-bronze-dark',
outline: 'border-2 border-bronze text-bronze hover:bg-bronze hover:text-white',
};
const sizes = {
sm: 'px-4 py-2 text-sm',
md: 'px-6 py-3',
lg: 'px-8 py-4 text-lg',
};
---
<button class={`${variants[variant]} ${sizes[size]} rounded-xl transition-all`}>
<slot />
</button>
Dark Mode Strategy
// Sofort beim Page Load
const theme = localStorage.getItem('theme') ||
(window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light');
if (theme === 'dark') {
document.documentElement.classList.add('dark');
}
<!-- Immer BEIDE Modes -->
<div class="bg-white dark:bg-slate-900
text-slate-900 dark:text-white">
Content
</div>
Mobile-First Approach
<!-- ✅ Mobile-First -->
<div class="text-base md:text-lg lg:text-xl">
<!-- Base = Mobile -->
</div>
<!-- ❌ Desktop-First -->
<div class="lg:text-xl md:text-lg text-base">
<!-- Verwirrend -->
</div>
Performance Optimization
Content Configuration
// tailwind.config.js
export default {
content: [
'./src/**/*.{astro,html,js,jsx,ts,tsx}',
// NICHT: './**/*.html' (zu breit!)
],
}
Resultat: 3 MB → 8 KB CSS!
Arbitrary Values sparsam nutzen
<!-- ✅ Design Tokens -->
<div class="mt-6 text-blue-700">
<!-- ❌ Zu viele Arbitrary Values -->
<div class="mt-[23px] text-[#3a5f8b]">
@apply: When and When Not
✅ Gute Use Cases
/* components.css */
@layer components {
.btn {
@apply px-6 py-3 font-bold rounded-xl transition-all;
}
}
Nur für Patterns die 3+ Mal genutzt werden!
❌ Schlechte Use Cases
/* NICHT jede Komponente als @apply */
.hero-section {
@apply bg-gradient-to-r from-blue-500 to-purple-600;
}
Essential Plugins
npm install -D @tailwindcss/typography
npm install -D @tailwindcss/forms
npm install -D @tailwindcss/container-queries
export default {
plugins: [
require('@tailwindcss/typography'),
require('@tailwindcss/forms'),
require('@tailwindcss/container-queries'),
],
}
Team Workflow
Prettier Plugin (Must!)
npm install -D prettier prettier-plugin-tailwindcss
Automatisches Class Sorting:
<!-- Vorher -->
<div class="text-white p-4 bg-blue-500">
<!-- Nachher -->
<div class="bg-blue-500 p-4 text-white">
ESLint Plugin
npm install -D eslint-plugin-tailwindcss
module.exports = {
extends: ['plugin:tailwindcss/recommended'],
}
Common Pitfalls
1. ❌ Keine Naming Conventions
Definiere Team-Standards:
- Spacing: Nur Tailwind-Scale
- Colors: Nur Design Tokens
- Breakpoints: Immer mobile-first
- Dark Mode: Beide Modes definieren
2. ❌ Zu viele custom classes
Nutze Components statt CSS-Klassen!
3. ❌ Purge/Content falsch konfiguriert
Scannt zu viele oder zu wenige Files.
Checklist
- Design Tokens definiert
- Component Library aufgebaut
- Mobile-First konsequent
- Prettier Plugin installiert
- Performance: CSS < 15 KB
- Dark Mode: Strategy definiert
- Team Conventions dokumentiert
Pro-Tipp: Diese Website:
- 8 KB CSS
- 100/100 PageSpeed
- Wartbar durch klare Struktur
Fragen zu Tailwind? Jetzt Beratung anfragen