CSS yazmak hiç bu kadar hızlı ve eğlenceli olmamıştı. Geleneksel CSS'in class isimlendirme kaosu, specificity savaşları ve dosya organizasyon karmaşası derken, Tailwind CSS ortaya çıktı ve oyunun kurallarını değiştirdi.
Kısa cevap: Tailwind CSS, hazır bileşenler yerine
flex,p-4,text-lggibi tek işlevli küçük sınıflar (utility class) veren, açık kaynaklı (MIT lisanslı) bir CSS framework'üdür. Stili ayrı bir CSS dosyasında değil, doğrudan HTML/JSX içinde bu sınıfları birleştirerek yazarsınız.
- Neden popüler: Tutarlı bir tasarım sistemi (boşluk, renk, tipografi ölçekleri), sadece kullanılan sınıfları içeren küçük CSS çıktısı ve hızlı geliştirme.
- Güncel sürüm: v4.3 (Mayıs 2026). v4 serisi ayarları JavaScript dosyası yerine CSS içinde
@themeile yapıyor.- Eylül 2026: Tailwind Labs, Shopify'a katıldı; framework MIT lisanslı ve açık kaynak kalmaya devam ediyor.
"Tailwind" kelimesi İngilizcede "kuyruk rüzgârı", yani arkadan iten rüzgâr demek; adı da geliştirmeyi hızlandırma iddiasından geliyor.
Tailwind CSS Nedir?
Tailwind CSS, Adam Wathan tarafından 2017'de geliştirilen utility-first CSS framework'üdür. Geleneksel CSS framework'lerinden farklı olarak, hazır component'ler sunmak yerine düşük seviyeli utility class'ları sağlar.
Basitçe söylemek gerekirse: Tailwind CSS = Utility Class'lar + Design System + Performans
Geleneksel CSS yazımında bir buton oluştururken:
/* styles.css */
.btn-primary {
background-color: #3B82F6;
color: white;
padding: 0.5rem 1rem;
border-radius: 0.375rem;
font-weight: 500;
transition: background-color 0.2s;
}
.btn-primary:hover {
background-color: #2563EB;
}
<button class="btn-primary">Tıkla</button>
Tailwind CSS ile aynı buton:
<button class="bg-blue-500 text-white px-4 py-2 rounded-md font-medium hover:bg-blue-600 transition-colors">
Tıkla
</button>
İlk bakışta HTML'in karmaşık göründüğünü düşünebilirsiniz. Ama asıl sihir burada başlıyor.
Neden Tailwind CSS Kullanmalısınız?
1. Sıfır Context Switching
Geleneksel yaklaşımda HTML ve CSS dosyaları arasında sürekli geçiş yaparsınız. "Bu class'ın adı neydi?", "Hangi dosyada tanımlı?" sorularıyla vakit kaybedersiniz.
Tailwind ile her şey HTML'de. Stil değiştirmek istediğinizde dosya aramak yok:
// Değişiklik yapmak için sadece class'ı düzenleyin
<div className="p-4 bg-gray-100 rounded-lg">
{/* p-6 yapmak isterseniz direkt burada */}
</div>
2. Tutarlı Design System
Tailwind, yerleşik bir design system ile gelir. Spacing, colors, typography - hepsi tutarlı:
spacing: 0.25rem adımlarla (1, 2, 3, 4...)
colors: 50-950 arası tonlar (gray-50, gray-100...)
font-size: xs, sm, base, lg, xl, 2xl...
Bu tutarlılık, ekip içinde "Ben 14px kullandım, sen 15px" tartışmalarını bitirir.
3. Küçük CSS Çıktısı
Tailwind, v3'ten beri varsayılan olan JIT (Just-In-Time) yaklaşımıyla sadece kodunuzda geçen class'ları üretir. Bootstrap ise kullanmasanız da bütün bileşen stillerini getirir:
| Metrik | Bootstrap 5.3 (tam CSS) | Tailwind CSS (tipik proje) |
|---|---|---|
| Minify edilmiş | ~232 KB | Projeye göre, çoğunlukla 10 KB altı (gzip) |
| Gzip'li | ~31 KB | — |
| Kullanılmayan CSS | Kullanılmayan bileşen kadar | Yok denecek kadar az |
Bootstrap rakamları: bootstrap@5.3 paketinin bootstrap.min.css dosyasını Ekim 2026'da jsDelivr'dan indirip ölçtük. Tailwind tarafı için resmi sitede "çoğu Tailwind projesi istemciye 10 kB'tan az CSS gönderir" deniyor; gerçek boyut projenizdeki farklı class sayısına bağlı. (İlk yayındaki "Netflix 6,5 KB" örneğini güncel bir kaynakta doğrulayamadığımız için çıkardık.)
4. Responsive ve State Yönetimi
Tailwind'in variant sistemi, responsive tasarım ve state yönetimini inanılmaz kolaylaştırır:
<!-- Mobile-first responsive tasarım -->
<div class="w-full md:w-1/2 lg:w-1/3">
<!-- Mobile: full width -->
<!-- Tablet: yarım -->
<!-- Desktop: üçte bir -->
</div>
<!-- State variants -->
<button class="bg-blue-500 hover:bg-blue-600 focus:ring-2 active:bg-blue-700 disabled:opacity-50">
Buton
</button>
Tailwind CSS v4: Neler Değişti?
Ocak 2025'te yayınlanan Tailwind CSS v4.0, framework'ü baştan aşağı yeniledi. O zamandan bu yana v4.1 (Nisan 2025), v4.2 (Şubat 2026) ve v4.3 (Mayıs 2026) geldi; aşağıda önce v4.0'ın temelini, sonra ara sürümlerle eklenenleri özetliyoruz:
Performans Patlaması
- Full build: 5x daha hızlı
- Incremental build: 100x daha hızlı (mikrosaniyeler seviyesinde)
- Sıfırdan yazılmış yeni engine
CSS-First Konfigürasyon
Artık JavaScript config dosyası yerine CSS'te konfigürasyon yapabilirsiniz:
/* globals.css */
@import "tailwindcss";
@theme {
--color-primary: #3B82F6;
--color-secondary: #10B981;
--font-sans: 'Inter', sans-serif;
--spacing-18: 4.5rem;
}
Otomatik Content Detection
Artık content array'i tanımlamaya gerek yok. Tailwind template dosyalarınızı otomatik tespit eder.
Container Queries
Ek plugin gerekmeden container-based responsive tasarım:
<div class="@container">
<div class="@sm:flex @lg:grid @lg:grid-cols-3">
<!-- Container boyutuna göre layout değişir -->
</div>
</div>
3D Transform Utilities
<div class="perspective-distant">
<div class="rotate-x-45 rotate-y-12 transform-3d">3D dönüşüm</div>
</div>
Modernize Edilmiş Renk Paleti
P3 geniş renk gamı desteği ile daha canlı renkler:
<div class="bg-blue-500">
<!-- P3 destekleyen ekranlarda daha canlı mavi -->
</div>
v4.1, v4.2 ve v4.3 ile Gelenler
Resmi v4.1 ve v4.3 duyurularından günlük işte en çok işinize yarayacaklar:
| Sürüm | Öne çıkanlar |
|---|---|
| v4.1 (Nisan 2025) | text-shadow-* ve mask-* utility'leri, renkli drop-shadow, dokunmatik cihazlar için pointer-* varyantları, @source not ile klasör hariç tutma, @source inline(...) ile safelist |
| v4.2 (Şubat 2026) | mauve, olive, mist, taupe nötr renk paletleri; Next.js gibi webpack kullanan framework'ler için birinci parti webpack eklentisi; mantıksal özellik (pbs-*, inline-*) utility'leri; font-features-* |
| v4.3 (Mayıs 2026) | Scrollbar utility'leri, yüksekliği de dikkate alan @container-size, zoom-*, tab-* ve CSS içinde zincirleme @variant desteği |
Eski bir projede safelist ayarına ya da tailwind.config.js içindeki content dizisine bağımlıysanız, v4'te karşılıklarının @source inline(...) ve otomatik kaynak tespiti olduğunu bilmek yükseltmeyi kolaylaştırır.
Tailwind Shopify'a Katıldı: Ne Anlama Geliyor?
9 Eylül 2026'da Tailwind'in yaratıcısı Adam Wathan, Tailwind Labs'in Shopify'a katıldığını duyurdu. Aynı yazıya göre framework haftada 110 milyondan fazla kez kuruluyor ve ChatGPT, X, Cloudflare, Reddit ve Shopify gibi ürünlerde kullanılıyor.
Kaynak: Tailwind CSS Blog, "Tailwind Labs is joining Shopify" (9 Eylül 2026)
Projeniz için pratik sonucu şu: duyuruda Tailwind CSS ve diğer açık kaynak projelerin MIT lisansıyla kalacağı ve aynı ekip tarafından bakımının sürdürüleceği açıkça yazıyor. Bir ajans olarak bizim değerlendirmemiz, bunun Tailwind'i bırakmak için değil, tersine uzun vadeli bakım konusunda daha rahat olmak için bir neden olduğu. Değişen taraf ticari ürünler: ekip, Tailwind etrafındaki şablon işini artık büyütmeyeceğini söylüyor.
Tailwind CSS Kurulumu
Next.js ile Kurulum (Önerilen)
Next.js 16 ile create-next-app'in varsayılan şablonu Tailwind CSS'i zaten içeriyor:
npx create-next-app@latest my-project
# Varsayılan ayarlarla Tailwind CSS v4 kurulu gelir
Mevcut Next.js Projesine Ekleme
- Paketleri yükleyin:
npm install tailwindcss @tailwindcss/postcss postcss
- PostCSS konfigürasyonu:
// postcss.config.mjs
const config = {
plugins: {
"@tailwindcss/postcss": {},
},
};
export default config;
- CSS dosyanızda import edin:
/* app/globals.css */
@import "tailwindcss";
- Geliştirme sunucusunu başlatın:
npm run dev
Vite ile Kurulum
Tailwind v4, Vite için first-party plugin sunar:
npm install tailwindcss @tailwindcss/vite
// vite.config.js
import tailwindcss from '@tailwindcss/vite'
export default {
plugins: [tailwindcss()],
}
Tailwind CSS Temel Kavramları
Utility Class'lar
Tailwind'in temel yapı taşları utility class'lardır:
<!-- Layout -->
<div class="flex items-center justify-between">
<!-- Spacing -->
<div class="p-4 m-2 space-y-4">
<!-- Typography -->
<p class="text-lg font-semibold text-gray-700">
<!-- Colors -->
<div class="bg-blue-500 text-white border-gray-200">
<!-- Sizing -->
<div class="w-full h-screen max-w-md min-h-[200px]">
Responsive Prefixes
Mobile-first yaklaşımla responsive tasarım:
| Prefix | Min-width | CSS |
|---|---|---|
sm: | 640px | @media (min-width: 640px) |
md: | 768px | @media (min-width: 768px) |
lg: | 1024px | @media (min-width: 1024px) |
xl: | 1280px | @media (min-width: 1280px) |
2xl: | 1536px | @media (min-width: 1536px) |
<div class="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-4">
<!--
Mobile: 1 sütun
Tablet: 2 sütun
Desktop: 4 sütun
-->
</div>
State Variants
Hover, focus, active ve daha fazlası:
<input
class="border border-gray-300
focus:border-blue-500 focus:ring-2 focus:ring-blue-200
hover:border-gray-400
disabled:bg-gray-100 disabled:cursor-not-allowed"
/>
Dark Mode
Tailwind'de dark mode desteği yerleşik:
<div class="bg-white dark:bg-gray-900 text-gray-900 dark:text-white">
Otomatik dark mode
</div>
Tailwind CSS Best Practices
1. Component Extraction
Tekrarlanan utility kombinasyonları için component'ler oluşturun:
// components/Button.tsx
interface ButtonProps {
variant?: 'primary' | 'secondary' | 'outline';
size?: 'sm' | 'md' | 'lg';
children: React.ReactNode;
}
export function Button({ variant = 'primary', size = 'md', children }: ButtonProps) {
const baseStyles = "font-medium rounded-lg transition-colors focus:ring-2 focus:ring-offset-2";
const variants = {
primary: "bg-blue-500 text-white hover:bg-blue-600 focus:ring-blue-500",
secondary: "bg-gray-200 text-gray-900 hover:bg-gray-300 focus:ring-gray-500",
outline: "border-2 border-blue-500 text-blue-500 hover:bg-blue-50 focus:ring-blue-500"
};
const sizes = {
sm: "px-3 py-1.5 text-sm",
md: "px-4 py-2 text-base",
lg: "px-6 py-3 text-lg"
};
return (
<button className={`${baseStyles} ${variants[variant]} ${sizes[size]}`}>
{children}
</button>
);
}
2. Conditional Classes için clsx/classnames
Dinamik class'lar için clsx veya classnames kullanın:
import clsx from 'clsx';
function Alert({ type, children }) {
return (
<div className={clsx(
"p-4 rounded-lg",
{
"bg-green-100 text-green-800": type === "success",
"bg-red-100 text-red-800": type === "error",
"bg-yellow-100 text-yellow-800": type === "warning",
}
)}>
{children}
</div>
);
}
3. @apply Kullanımı
Gerçekten gerekli olduğunda @apply ile utility'leri birleştirin:
/* globals.css */
@layer components {
.btn-primary {
@apply px-4 py-2 bg-blue-500 text-white rounded-lg
hover:bg-blue-600 focus:ring-2 focus:ring-blue-500
transition-colors font-medium;
}
}
⚠️ Dikkat:
@apply'ı aşırı kullanmayın. Tailwind'in avantajını yok eder. Sadece gerçekten çok tekrarlanan pattern'ler için kullanın.
4. Layer Organizasyonu
Tailwind v4'te CSS layer'larını doğru kullanın:
@layer theme {
/* Design token'ları */
}
@layer base {
/* Element reset'leri, typography */
h1 {
@apply text-3xl font-bold;
}
}
@layer components {
/* Yeniden kullanılabilir component'ler */
.card {
@apply p-6 bg-white rounded-xl shadow-md;
}
}
@layer utilities {
/* Custom utility'ler */
.text-gradient {
@apply bg-gradient-to-r from-blue-500 to-purple-500 bg-clip-text text-transparent;
}
}
Tailwind CSS vs Bootstrap vs Vanilla CSS
| Özellik | Tailwind CSS | Bootstrap | Vanilla CSS |
|---|---|---|---|
| Yaklaşım | Utility-first | Component-first | Manuel |
| Öğrenme Eğrisi | Orta | Düşük | Yüksek |
| Customization | Çok Yüksek | Orta | Tam Kontrol |
| CSS Boyutu (min) | Kullanıma göre, genelde küçük | ~232 KB (tam paket) | Değişken |
| Design Tutarlılığı | Çok Yüksek | Yüksek | Düşük |
| Geliştirme Hızı | Çok Hızlı | Hızlı | Yavaş |
| Bakım Kolaylığı | Yüksek | Orta | Düşük |
Ne Zaman Tailwind?
- Custom tasarım gerektiren projeler
- Performans kritik uygulamalar
- Uzun vadeli projeler
- React/Vue/Svelte ekosistemi
Ne Zaman Bootstrap?
- Hızlı prototipleme
- Admin panelleri
- Tasarımcı olmayan ekipler
- Standart görünüm yeterli olduğunda
Ne Zaman Vanilla CSS?
- Çok küçük projeler
- Framework overhead istemediğinizde
- Eğitim amaçlı
Next.js ile Tailwind CSS Entegrasyonu
Next.js ve Tailwind CSS birlikte mükemmel çalışır. İşte bazı entegrasyon ipuçları:
Server Components ile Kullanım
Tailwind class'ları Server Component'lerde sorunsuz çalışır:
// app/page.tsx (Server Component)
export default async function HomePage() {
const products = await fetchProducts();
return (
<div className="grid grid-cols-1 md:grid-cols-3 gap-6 p-8">
{products.map(product => (
<div key={product.id} className="bg-white rounded-xl shadow-md p-6 hover:shadow-lg transition-shadow">
<h2 className="text-xl font-bold text-gray-900">{product.name}</h2>
<p className="text-gray-600 mt-2">{product.description}</p>
</div>
))}
</div>
);
}
cn() Helper Fonksiyonu
Next.js projelerinde yaygın olarak kullanılan pattern:
// lib/utils.ts
import { clsx, type ClassValue } from 'clsx';
import { twMerge } from 'tailwind-merge';
export function cn(...inputs: ClassValue[]) {
return twMerge(clsx(inputs));
}
// Kullanımı
<button className={cn(
"px-4 py-2 rounded-lg",
isPrimary && "bg-blue-500 text-white",
isDisabled && "opacity-50 cursor-not-allowed"
)}>
Buton
</button>
Tailwind CSS IntelliSense
VS Code'da Tailwind CSS IntelliSense extension'ı kurun. Autocomplete, syntax highlighting ve hata kontrolü sağlar.
Gerçek Dünya Örnekleri
Tailwind'in Eylül 2026 duyurusunda adı geçen ürünler: ChatGPT, X, Cloudflare, Reddit ve Shopify. v4.2'deki bazı özelliklerin de Netflix ve Vercel ekipleriyle iş birliğiyle geliştirildiği v4.3 duyurusunda belirtiliyor.
Bir yazılım ajansı olarak biz de web projelerimizde Tailwind CSS kullanıyoruz; okuduğunuz bu site de Tailwind v4 ile yazıldı. MEF Üniversitesi, Stuudy ve E-Kuralkan projeleri Tailwind CSS ile geliştirildi.
Tailwind CSS Öğrenme Yol Haritası
- Temel CSS bilgisi (Flexbox, Grid, Box Model)
- Utility class mantığını kavrama (spacing, colors, typography)
- Responsive tasarım (breakpoint'ler, mobile-first)
- State variants (hover, focus, dark mode)
- Component extraction (React/Vue ile)
- Konfigürasyon ve customization
- Best practices ve performance
Sonuç
Tailwind CSS, modern web geliştirmenin vazgeçilmez araçlarından biri haline geldi. Utility-first yaklaşımı ilk başta alışılmadık gelse de, bir kez adapte olduğunuzda geri dönmek istemezsiniz.
v4 serisiyle gelen performans iyileştirmeleri, CSS-first konfigürasyon, container queries ve v4.3'e kadar eklenen utility'ler Tailwind'i daha da güçlü hale getirdi; Shopify birleşmesi de uzun vadeli bakım sorusunu büyük ölçüde yanıtladı. Next.js ile mükemmel entegrasyonu, full-stack geliştirme için ideal bir seçim yapıyor.
Eğer detaylı teknik bilgi istiyorsanız, Tailwind CSS teknoloji sayfamıza göz atabilirsiniz. Next.js ile entegrasyon için de ayrıntılı rehberlerimiz mevcut.
Tailwind'i hangi framework üzerinde kullanacağınıza karar veriyorsanız Next.js Nedir? yazımız iyi bir başlangıç.
Tailwind CSS ile projenizi geliştirmek ister misiniz? Bizimle iletişime geçin ve ücretsiz danışmanlık alın.
Bu yazı 7 Ekim 2026'da güncellendi: kısa cevap, v4.1–v4.3 yenilikleri tablosu ve Tailwind Labs'in Shopify'a katılması (Eylül 2026) eklendi; JIT'in v4 ile geldiği hatası, Bootstrap boyut rakamları (kendi ölçümümüz) ve doğrulanamayan kullanıcı/boyut örnekleri düzeltildi; Next.js 16 kurulum notu güncellendi.



