Tailwind CSS v4.0 در ۲۲ ژانویهی ۲۰۲۵ منتشر شد و مجموعهای از ویژگیهای جدید و بهبودهای کارایی را با خود آورد. در ادامه مهمترین قابلیتها را همراه با مثال و توضیح مرور میکنیم.
۱. موتور عملکرد بالا
- بازنویسی کامل هستهٔ فریمورک برای حداکثر سرعت
- ساختهای کامل (full builds) تا ۳.۷۸× سریعتر و بازسازی تدریجی (incremental rebuilds) تا ۱۸۲× سریعتر از نسخهٔ قبلی هستند.
- جدول میانگین زمانها (Median build times): نوع بازسازی v3.4 v4.0 نسبت به v3.4 Full build 378ms 100ms 3.78× Incremental (کد جدید) 44ms 5ms 8.8× Incremental (بدون کد جدید) 35ms 0.192ms 182×
۲. طراحی برای وب مدرن
با استفاده از قابلیتهای جدید CSS نظیر cascade layers، @property، color-mix() و logical properties (برای پشتیبانی بهتر از RTL).
@layer theme, base, components, utilities;
@layer utilities {
/* مثال: تعریف نامحدود فاصله با متغیر */
.mx-6 {
margin-inline: calc(var(--spacing) * 6);
}
/* مثال: ترکیب رنگ با color-mix */
.bg-blue-500/50 {
background-color: color-mix(in oklab, var(--color-blue-500) 50%, transparent);
}
}
/* ثبت متغیر برای انیمیشن گرادیانت */
@property --tw-gradient-from {
syntax: "<color>";
inherits: false;
initial-value: #0000;
}
۳. نصب ساده
تنها با سه قدم میتوانید شروع کنید:
- نصب بستهها
npm install tailwindcss @tailwindcss/postcss
- فعالسازی پلاگین در PostCSS
// postcss.config.js export default { plugins: ["@tailwindcss/postcss"], };
- وارد کردن Tailwind در CSS
@import "tailwindcss";
- بدون نیاز به فایل پیکربندی یا خطوط
@tailwind
متعدد
۴. پلاگین رسمی Vite
برای پروژههای Vite، افزونهٔ اختصاصی با عملکرد حتی بهتر:
// vite.config.ts
import { defineConfig } from "vite";
import tailwindcss from "@tailwindcss/vite";
export default defineConfig({
plugins: [
tailwindcss(),
],
});
۵. تشخیص خودکار محتوا
– بدون نیاز به آرایهٔ content
در پیکربندی
– تشخیص خودکار تمام فایلهای قالب با نادیدهگرفتن مسیرهای .gitignore
و فایلهای باینری
– در صورت نیاز میتوانید با دستور @source
در CSS منبع جدید اضافه کنید:
@import "tailwindcss";
@source "../node_modules/@my-company/ui-lib";
۶. پشتیبانی توکار از @import
– دیگر نیازی به postcss-import
نیست
– سریعتر و بهینهتر با موتور جدید
// postcss.config.js
export default {
plugins: [
"postcss-import",
"@tailwindcss/postcss",
],
};
۷. پیکربندی CSS-محور (@theme
)
– به جای فایل JS، همهٔ تنظیمات را در خود CSS بنویسید
– تعریف design tokens، سفارشیسازی فونتها و شکستهای ریسپانسیو مستقیم در CSS :
@import "tailwindcss";
@theme {
--font-display: "Satoshi", sans-serif;
--breakpoint-3xl: 1920px;
--color-avocado-500: oklch(0.84 0.18 117.33);
--ease-snappy: cubic-bezier(0.2, 0, 0, 1);
}
۸. متغیرهای تم بهصورت خودکار (CSS Theme Variables)
تمام design tokens شما بهعنوان متغیرهای CSS خروجی میشوند و میتوانید در هر جایی بهصورت پویا استفاده کنید:
:root {
--color-avocado-100: oklch(0.99 0 0);
--color-avocado-200: oklch(0.98 0.04 113.22);
/* ... */
}
۹. مقادیر پویا و واریانتهای خودکار
– بدون نیاز به مقداردهی دستی در پیکربندی
– مثال: ستونبندی دلخواه، واریانت بر اساس صفت داده (data-*
)، فاصلهٔ پویا
<!-- ستون ۱۵ تایی -->
<div class="grid grid-cols-15">…</div>
<!-- تغییر شفافیت وقتی data-current فعال است -->
<div data-current class="opacity-75 data-current:opacity-100">…</div>
/* فاصلهٔ پویا بر اساس متغیر spacing */
@layer utilities {
.mt-8 { margin-top: calc(var(--spacing) * 8); }
.w-17 { width: calc(var(--spacing) * 17); }
}
۱۰. پالت رنگ P3 مدرن
– مهاجرت از sRGB به oklch برای رنگهای زندهتر
– حفظ توازن رنگها بدون ایجاد تغییر شکسته در پروژههای موجود
۱۱. Container Queries
– پشتیبانی داخلی بدون نیاز به پلاگین جداگانه
– واریانتهای @min-*
و @max-*
برای تعریف بازههای اندازهٔ کانتینر:
<div class="@container">
<div class="grid grid-cols-1 @sm:grid-cols-3 @lg:grid-cols-4">…</div>
</div>
۱۲. ۳D Transform Utilities
– کلاسهایی مثل rotate-x-*
، translate-z-*
و … برای ترنسفورم سهبعدی در HTML:
<div class="perspective-distant">
<article class="transform-3d rotate-x-45 rotate-z-30">…</article>
</div>
۱۳. APIهای گرادیانت پیشرفته
- زاویهدار کردن گرادیانت (
bg-linear-45
) - مدلهای مختلف تفکیک رنگ (
/srgb
،/oklch
) - گرادیانتهای کانیک و رادیال (
bg-conic-*
،bg-radial-*
) :
<div class="bg-linear-45 from-indigo-500 via-purple-500 to-pink-500"></div>
<div class="bg-linear-to-r/oklch from-indigo-500 to-teal-400"></div>
<div class="bg-conic/[at_50%_50%] from-red-600 to-yellow-300"></div>
۱۴. واریانتهای جدید و سایر بهبودها
- @starting-style: برای حالتهای ورود/خروج انیمیشن
- not-*: اعمال استایل وقتی یک واریانت یا کوئری برقرار نیست
- پشتیبانی از
color-scheme
،field-sizing
، سایههای پیچیده،inert
و…