پایهها
رنگ، تایپوگرافی، فضابندی، توکنها و تمبندی — زبان بصری و قرارداد مصرف آن
معرفی
همهی ظاهر پرتو از یک لایهی توکن CSS میآید. یک @import کافی است و از آن به بعد هر کلاس Tailwind که به کار میبرید به همان توکنها میرسد:
/* app/globals.css */
@import 'tailwindcss';
@import '@partodata/ui/tailwind.css';تم تاریک پیشفرضِ :root است و تم روشن با data-theme="light" صریحاً فعال میشود. هیچجا رنگ خام نمینویسید.
راهنمای انتخاب
رنگها
پالتهای رنگی
تایپوگرافی
فضابندی
اندازه و چگالی
هندسهٔ صفحه
عمق، گوشه و لایهبندی
گرامر بصری
آیکونها
حرکت و انیمیشن
حالتهای تعامل
قالببندی عدد و تاریخ
توکنهای طراحی
کلاسهای Tailwind
تمبندی
دادهنمایی
قرارداد مصرف
دستهبندی
| گروه | چه چیزی را پاسخ میدهد |
|---|---|
| زبان بصری | زبان بصری چه هست — سلسلهمراتب رنگ، مقیاس متن، ریتم فاصلهها، و آیکونها |
| توکنها و مصرف | چطور مصرفش میکنید و گسترشش میدهید — مرجع توکنها، نگاشت کلاسها، تم سفارشی |
نکات مشترک
پنج محدودیت ترکیببندی روی هر صفحهی این بخش حاکماند و در قرارداد مصرف کامل توضیح داده شدهاند. خلاصهشان:
- رنگ فقط از توکن سمانتیک — نه hex، نه پالت خام Tailwind، نه
hsl()دور یک توکن - هر رنگ پسزمینهی برند/وضعیت، جفت
text-on-*خودش را دارد؛text-whiteجواب نیست - اندازهی متن از مقیاس نامدار میآید، نه مقدار دلخواه
- شعاع گوشه و عرض کانتینر از توکن، نه عدد px
- فاصله و جهت با ویژگیهای منطقی —
ms/me/ps/peوstart/end
روی همهٔ اینها، ساختار صفحه از ترکیب میآید نه از رنگ: هر بلوک محصور روی یک ظرف (پرکننده + مرز + شعاع + سایه) و هر صفحه با لایهٔ کم — گرامر بصری.
توکن را در hsl() نپیچید
از نسخهٔ دوم به بعد، توکنها رنگ کامل هستند، نه کانال خام. پس var(--brand-default) درست است و
hsl(var(--brand-default)) یک رنگ نامعتبر میسازد — بیصدا، چون ظاهرش توکنمحور است. برای شفافیت از modifier خودِ
Tailwind (bg-brand/10) یا color-mix() استفاده کنید.