شبکه اجتماعی طراحان وب ایران

همهٔ درس‌ها

فریمورک‌های CSS

Tailwind، Bootstrap، Bulma و سایر فریمورک‌های محبوب CSS.

پیش‌نیاز: دسترسی‌پذیری وب (A11y)

فریمورک CSS چیست؟

فریمورک‌های CSS مجموعه‌ای از استایل‌های ازپیش‌تعریف‌شده، کامپوننت‌ها و سیستم گرید هستند که سرعت توسعهٔ رابط کاربری را بالا می‌برند. به‌جای نوشتن همهٔ استایل‌ها از صفر، از کلاس‌ها و کامپوننت‌های آماده استفاده می‌کنی.

Tailwind CSS

Tailwind یک فریمورک utility-first است: به‌جای کامپوننت آماده، کلاس‌های کوچک و ترکیب‌پذیر می‌دهد. هر کلاس معمولاً یک property را تنظیم می‌کند؛ با ترکیب آن‌ها ظاهر نهایی را می‌سازی.

  • مزایا: انعطاف بالا، بدون نیاز به نام‌گذاری کلاس سفارشی، طراحی یکپارچه با تنظیمات، حجم خروجی با Purge کم می‌شود.
  • معایب: HTML شلوغ می‌شود؛ برای تیم‌هایی که دوست دارند همهٔ استایل در فایل CSS باشد ممکن است خوشایند نباشد.
<button class="px-4 py-2 bg-brand-600 text-white rounded-lg hover:bg-brand-700">
    دکمه
</button>

با tailwind.config.js می‌توانی رنگ برند، فاصله‌ها و breakpointها را سفارشی کنی. در پروژه‌های Laravel، Vue و React بسیار استفاده می‌شود.

Bootstrap

Bootstrap فریمورک component-based است که توسط توییتر (اکنون با مشارکت جامعه) نگهداری می‌شود. گرید ۱۲ ستونه، دکمه، کارت، ناوبار، مودال، فرم و … از پیش تعریف شده‌اند.

  • مزایا: مستندات عالی، تم‌های آماده زیاد، سازگاری مرورگرها، سریع برای پروتوتایپ و اپ‌های داخلی.
  • معایب: ظاهر «Bootstrapی» اگر سفارشی نشود؛ حجم CSS نسبتاً زیاد؛ برای طراحی خیلی منحصربه‌فرد گاهی باید با استایل‌های سفارشی زیاد Override کنی.
<div class="card">
    <div class="card-body">محتوا</div>
</div>

نسخهٔ فعلی Bootstrap 5 است و وابستگی به jQuery را حذف کرده است.

Bulma

Bulma یک فریمورک فقط-CSS (بدون جاوااسکریپت) بر پایهٔ Flexbox است. کلاس‌ها خوانا و ساده‌اند و با افزودن modifierها ظاهر را تغییر می‌دهی.

  • مزایا: سبک، بدون JS، سینتکس ساده، مناسب برای کسانی که با Vue یا React خودشان منطق را می‌نویسند.
  • معایب: اکوسیستم و قالب آماده کمتر از Bootstrap.
<button class="button is-primary">دکمه</button>
<div class="columns"><div class="column">ستون</div></div>

سایر گزینه‌ها

  • Foundation — فریمورک واکنش‌گرا با امکانات پیشرفته و قابل سفارشی‌سازی.
  • UIKit — فریمورک سبک با ماژول‌های جدا (فقط آنچه نیاز داری را وارد کن).
  • Chakra UI / MUI (Material UI) — کتابخانهٔ کامپوننت برای React با استایل از پیش تعریف‌شده؛ بیشتر در اکوسیستم React استفاده می‌شوند.

کدام را انتخاب کنم؟

برای سرعت و ظاهر یکدست بدون طراحی سفارشی زیاد → Bootstrap یا Bulma. برای کنترل کامل و طراحی منحصربه‌فرد با سرعت توسعه بالا → Tailwind. برای پروژهٔ React با کامپوننت آماده → Chakra UI یا MUI در کنار یا به‌جای فریمورک CSS عمومی.

لینک کپی شد!