🔆 راهنمای کار با Tailwind css :
✅ بر خلاف Bootstrap که شامل اجزای از پیش طراحی شده هست، تیلویند یک فرمورک css هست که به شما کلاس های سودمندی (utility classes) میده که با کنار هم قرار دادن این کلاس ها میتونید UI جذابی رو طراحی کنید.
🔸 در کل برای شروع یک پروژه با تیلویند 2 تا دستور مهم وجود داره :
npm install -D tailwindcss
این دستور تیلویند را به عنوان یک devDependency به پروژمون اضافی میکنه و دلیلی که از D- یا همون save-dev-- استفاده میکنیم اینه که ما از تیلویند فقط موقع توسعه سایتمون استفاده میکنیم و در محیط تولید مورد نیاز نیست.
npx tailwindcss init
با این دستور از ابزار npx استفاده میکنیم تا یک فایل تنظیمات پیشفرض به اسم tailwind.config.js رو ایجاد کنیم که برای سفارشی سازی تیلویند استفاده میشه.
🔸 وقتی دستورات بالا رو میزنیم یک پوشه با عنوان node_modules، یک فایل با عنوان package-lock.json، یک فایل با عنوان package.json و در نهایت فایل tailwind.config.js ساخته میشود که ساختار پیشفرض درون آن به این صورت است :
/** @type {import('tailwindcss').Config} */
module.exports = {
content: [],
theme: {
extend: {},
},
plugins: [],
}
🔸 قبل از ادامه مراحل نصب بیاید بخش های مختلف فایل tailwind.config.js رو بررسی کنیم:
🔹 محتوای content : این بخش مشخص میکنه که تیلویند میتونه کدوم فایل های پروژه مارو بررسی کنه تا درون اونها بتونیم از کلاس های تیلویند استفاده کنیم که به طور معمول آدرس زیر رو بهش میدیم :
content: ["./**/*.{html,js}"],
یعنی تو همین پوشه اصلی و در واقع main برو تمام زیرپوشه ها و فایل های داخل این پوشه رو بدون در نظر گرفتن عمقشون جستجو کن و فایل هایی با پسوند html. و js. رو بررسی کن. حالا این یه چیزیه که معمولا استفاده میکنیم اما شما هر آدرسی میتونید بدید.
🔹 محتوای theme : در این بخش ما میتونیم ویژگی های پیشفرض تیلویند رو تغییر بدیم یا حتی ویژگی جدیدی رو هم اضافه کنیم که ساختار زیر رو داره:
theme: {
extend: {},
},
⁉️ حالا سوال اینه که چه زمانی باید تغییرات رو مستقیم درون theme قرار دهیم و چه زمانی درون extend ؟؟؟
♦️ زمانی که میخوایم ویژگی های جدیدی به ویژگی های موجود در تیلویند اضافه کنیم بدون تغییر ویژگی های پیشفرض اون هارو درون extend قرار میدیم ولی زمانی که میخوایم ویژگی از قبل تعریف شده ای رو در تیلویند تغییر بدیم اون هارو درون theme قرار میدیم مثل :
theme: {
screens: {
xs: "475px",
sm: '640px',
md: '768px',
lg: '1024px',
xl: '1280px',
},
fontFamily: {
"yekan": "Yekan"
},
extend: {
colors: {
"primary": {
DEFAULT: "#041aa4",
}
},
spacing: {
"34": "8.5rem"
}
},
},
در این مثال ما سایز های screen رو برای رسپانسیو سازی و font family رو کاملا تغییر دادیم و شخصی سازی کردیم. و همچنین یک رنگ جدید به اسم primary رو به رنگ های دیگه تیلویند و یک spacing با مقدار 34 به سایر spacing ها اضافه کردیم.
🔹 محتوای plugins : در این بخش افزونه های تیلویند رو میتونیم اضافه کنیم برای داشتن قابلیت های بیشتر مثل افزونه فرم :
plugins: [
require('@tailwindcss/forms'),
],