در این ویدئو، ما به بررسی روشهای جدید مدیریت رنگها در CSS میپردازیم و نشان میدهیم چگونه بدون نیاز به کتابخانههای جاوا اسکریپت، کامپوننتهای باتن حرفهای بسازیم. با استفاده از CSS Color Spaces مانند OKLCH و CSS Functions مثل color-mix، میتوان رنگهای پایه را برای حالتهای مختلف باتن مانند hover و active بهینه و قابل مدیریت ساخت. ترکیب این تکنیکها با Tailwind CSS v4 و Tailwind Variants امکان طراحی کامپوننتهای واکنشگرا و مقیاسپذیر در پروژههای Next.js و React را فراهم میکند.
مدیریت رنگ با CSS به جای JS:
استفاده از CSS مدرن برای تغییر رنگها در حالتهای مختلف باتن بدون نیاز به کتابخانههای JS مثل Color Thief یا Color Token.
مزیت: کاهش دیپندنسی و بهبود کارایی رندر کامپوننتها.
استفاده از فضاهای رنگی مدرن (Color Spaces):
OKLCH به جای HEX یا RGB برای تعریف رنگها.
امکان تغییر روشنایی (L)، شدت رنگ (C) و Hue (H) بدون تاثیر روی متن یا دیگر المانها.
CSS color-mix Function:
ترکیب دو رنگ با درصد مشخص برای تولید رنگهای hover یا active.
مثال: پرایمری رنگ + 10٪ مشکی برای هاور، 20٪ مشکی برای اکتیو.
Tailwind CSS v4 و Tailwind Variants:
تعریف تم و رنگها بدون استفاده از فایل قدیمی tailwind.config.js.
قابلیت ساخت ورینتهای مختلف باتن: رنگ (Primary, Warning, Error)، سایز، حالت (Outline/Solid).
استفاده از Base Styles و ورینتها برای افزایش قابلیت نگهداری و یکپارچگی.
کامپوننت باتن در React + Next.js:
ساختار Button با Props قابل تنظیم برای رنگ، سایز و سایر ویژگیها.
استایلها با Tailwind Variants تعریف شده و از ورینتها به صورت پویا اعمال میشوند.
Best Practices برای پروژههای Large-Scale:
نگهداری رنگهای برند در CSS Variables در سطح ریشه (Root).
استفاده از CSS-native solutions برای کاهش رندرهای اضافی در React یا Svelte.
امکان تغییر رنگ پایه برند بدون نیاز به اصلاح دستی همه حالتهای رنگی باتنها.