Tailwind چیست و چگونه از آن استفاده کنیم + پروژه عملی

tailwind html css

فهرست مطالب

اگر تا حالا توی طراحی وب‌سایت‌ها دست به کار شده باشی، احتمالا اسم Tailwind CSS به گوشت خورده. این روزها این فریم‌ورک محبوب به یکی از ابزارهای ضروری برای توسعه‌دهندگان وب تبدیل شده. حالا اگه نمی‌دونی Tailwind CSS چیه یا چطور می‌تونی ازش استفاده کنی، اصلا نگران نباش! تو این مقاله قراره خیلی ساده بهت توضیح بدیم که Tailwind CSS دقیقا چیه، چرا اینقدر محبوب شده و چطور می‌تونی ازش تو پروژه‌هات استفاده کنی. پس آماده شو که با هم یه سفر جذاب به دنیای CSS شروع کنیم!

تاریخچه

Tailwind CSS یه ابزار نسبتاً جدید تو دنیای طراحی وب محسوب می‌شه، ولی تونسته خیلی زود جای خودش رو تو دل توسعه‌دهنده‌ها باز کنه. داستان تولد Tailwind CSS از سال 2017 شروع می‌شه، وقتی که یه گروه از توسعه‌دهنده‌ها به رهبری آدام واژ (Adam Wathan) تصمیم گرفتن تجربه‌شون رو در طراحی CSS به یه ابزار جدید تبدیل کنن.

ایده اصلی پشت Tailwind این بود که به جای استفاده از کلاس‌های از پیش تعریف‌شده (مثل Bootstrap)، به توسعه‌دهنده‌ها این امکان رو بده که با استفاده از یه سری کلاس‌های کوچک و کاربردی، سبک‌های مورد نیازشون رو به راحتی و سریع روی عناصر HTML پیاده کنن. این رویکرد باعث می‌شه که طراحی‌های خیلی سفارشی و خاصی ایجاد بشه بدون اینکه نیاز به نوشتن یه عالمه کد CSS دستی باشه.

از زمان انتشارش، Tailwind CSS به سرعت محبوبیت پیدا کرد و خیلی از توسعه‌دهنده‌ها و شرکت‌ها شروع کردن به استفاده از اون تو پروژه‌های مختلف. دلیل این محبوبیت، انعطاف‌پذیری و سرعت بالای Tailwind تو طراحی و توسعه است. با اینکه اولش ممکنه کمی عادت کردن بهش سخت باشه، ولی وقتی که راه بیفتی، دیگه برگشت به روش‌های قدیمی CSS برات سخت می‌شه!

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

مزایای استفاده از tailwind

1. انعطاف‌پذیری بالا:

Tailwind CSS برخلاف فریم‌ورک‌های سنتی مثل Bootstrap، به جای ارائه‌ی قالب‌های آماده، یه سری کلاس‌های کاربردی رو در اختیار توسعه‌دهنده قرار می‌ده. این بهت این امکان رو می‌ده که بدون محدودیت، طراحی کاملاً سفارشی و دلخواه خودت رو پیاده‌سازی کنی.

2. کاهش نیاز به نوشتن CSS سفارشی

با استفاده از کلاس‌های از پیش تعریف شده‌ی Tailwind، دیگه لازم نیست برای هر جزئیات کوچکی CSS دستی بنویسی. این کلاس‌ها تمام نیازهای معمول رو پوشش می‌دهند و باعث می‌شن که کد CSS بسیار تمیزتر و منظم‌تر باشه.

3. سرعت بالای توسعه

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

4. طراحی ریسپانسیو ساده‌تر

Tailwind ابزارهای قدرتمندی برای ایجاد طراحی‌های ریسپانسیو داره. می‌تونی با استفاده از کلاس‌های ریسپانسیو، طراحی‌های خودت رو به راحتی برای اندازه‌های مختلف صفحه تطبیق بدی، بدون نیاز به نوشتن کد اضافی.

5. پیکربندی و سفارشی‌سازی

Tailwind CSS یه فایل پیکربندی داره که می‌تونی با استفاده از اون، کلاس‌ها و تنظیمات پیش‌فرض رو به دلخواه خودت تغییر بدی. این یعنی تو می‌تونی کاملاً کنترل داشته باشی که چه چیزی توی پروژه‌ت استفاده بشه و چه چیزی نه.

6. حجم کم و عملکرد بهینه

یکی از ویژگی‌های Tailwind اینه که با استفاده از ابزارهایی مثل PurgeCSS، می‌تونی تنها کلاس‌هایی رو که واقعاً تو پروژه استفاده کردی در فایل CSS نهایی داشته باشی. این باعث می‌شه حجم فایل CSS نهایی به طرز قابل توجهی کم بشه و عملکرد سایتت بهبود پیدا کنه.

7. جامعه و منابع آموزشی بزرگ

Tailwind CSS یه جامعه فعال و بزرگ داره که پر از منابع آموزشی، پلاگین‌ها و ابزارهای متنوعه. این یعنی اگه هر زمان توی کار با Tailwind به مشکلی برخوردی، احتمالاً سریع می‌تونی راه‌حلش رو توی مستندات یا انجمن‌های آنلاین پیدا کنی.

نصب و راه اندازی

شروع کار با Tailwind CSS خیلی ساده‌ست و بستگی به این داره که چطور می‌خوای ازش استفاده کنی. اینجا چند روش رو برات توضیح می‌دم:

1. استفاده از CDN (سریع‌ترین روش برای شروع)

اگه می‌خوای خیلی سریع و بدون دردسر شروع کنی، می‌تونی از لینک CDN برای Tailwind CSS استفاده کنی. کافیه این لینک رو توی فایل HTML پروژه‌ت اضافه کنی:

				
					 <link href="https://cdn.jsdelivr.net/npm/tailwindcss@2.2.19/dist/tailwind.min.css" rel="stylesheet">
				
			

بعد از اضافه کردن این لینک، می‌تونی توی تگ‌های HTML از کلاس‌های Tailwind استفاده کنی و به راحتی طراحی خودت رو شروع کنی.

2. نصب Tailwind CSS با NPM (روش حرفه‌ای‌تر)

   اگه پروژه‌ی بزرگ‌تری داری یا می‌خوای از قابلیت‌های پیشرفته‌تر Tailwind استفاده کنی، بهتره از NPM استفاده کنی:

اول، باید Node.js و NPM رو نصب داشته باشی. اگه نداری، می‌تونی از وبسایت Node.js نصبشون کنی.

   

دوم، یه پروژه جدید ایجاد کن یا به پروژه‌ی موجودت برو و توی ترمینال دستور زیر رو اجرا کن تا Tailwind CSS رو نصب کنی:

				
					npm install -D tailwindcss

				
			

سوم، یه فایل تنظیمات Tailwind ایجاد کن:

				
					npx tailwindcss init
				
			

این دستور یه فایل `tailwind.config.js` توی ریشه پروژه‌ت ایجاد می‌کنه که می‌تونی تنظیمات دلخواهت رو توش اعمال کنی.

چهارم، فایل CSS پروژه‌ت رو بساز و تنظیمات پایه رو بهش اضافه کن:

				
					    @tailwind base;
     @tailwind components;
     @tailwind utilities;
				
			

پنجم، از یه ابزار مثل PostCSS استفاده کن تا این فایل CSS رو پردازش و به یه فایل قابل استفاده تبدیل کنه. برای این کار می‌تونی توی `package.json` خودت یه اسکریپت اضافه کنی:

				
					  "scripts": {
       "build:css": "tailwindcss build src/styles.css -o dist/styles.css"
     }

				
			

بعد با اجرای دستور `npm run build:css` می‌تونی فایل CSS نهایی رو تولید کنی.

3. استفاده از Tailwind در یک فریم‌ورک (مثل Next.js یا Laravel)

   اگه از یه فریم‌ورک مثل Next.js یا Laravel استفاده می‌کنی، ادغام Tailwind CSS با این فریم‌ورک‌ها خیلی راحت و مستقیم انجام می‌شه. توی مستندات رسمی Tailwind، آموزش‌های خاصی برای ادغام این فریم‌ورک‌ها وجود داره که می‌تونی ازشون استفاده کنی.

   به عنوان مثال، برای Next.js:

   اول Tailwind CSS و PostCSS رو نصب کن:

				
					npm install -D tailwindcss postcss autoprefixer
				
			

بعد با دستور `npx tailwindcss init -p` فایل‌های تنظیمات رو ایجاد کن.

حالا می‌تونی از کلاس‌های Tailwind توی کامپوننت‌های Next.js خودت استفاده کنی.

4. استفاده از قالب‌های آماده

اگه می‌خوای یه پروژه سریع راه بندازی و از طراحی آماده استفاده کنی، می‌تونی از قالب‌های آماده Tailwind CSS استفاده کنی. سایت‌هایی مثل Tailwind UI یا Creative Tim تعداد زیادی قالب و کامپوننت آماده دارن که می‌تونی ازشون استفاده کنی.

حالا که راه‌های مختلف شروع رو یاد گرفتی، فقط کافیه یکی رو انتخاب کنی و دست به کار بشی. Tailwind CSS یه ابزار قدرتمنده که بعد از مدتی کار باهاش، مطمئنم عاشقش می‌شی!

فایل tailwind.config.js

فایل `tailwind.config.js` یکی از مهم‌ترین فایل‌ها در Tailwind CSS هست که بهت اجازه می‌ده تا تنظیمات و پیکربندی‌های شخصی خودت رو به فریم‌ورک اضافه کنی. این فایل به طور خودکار وقتی که دستور `npx tailwindcss init` رو اجرا می‌کنی ایجاد می‌شه. حالا بیایم ببینیم که این فایل چه قابلیت‌هایی داره و چطور می‌تونی ازش استفاده کنی.

ساختار کلی `tailwind.config.js`

وقتی که `tailwind.config.js` ایجاد می‌شه، به صورت پیش‌فرض ممکنه فقط یه ساختار ساده داشته باشه:

				
					/ @type {import('tailwindcss').Config} */
module.exports = {
  content: [],
  theme: {
    extend: {},
  },
  plugins: [],
}

				
			

حالا ببینیم هر بخش چه کاربردی داره:

1. Content

بخش `content` مشخص می‌کنه که Tailwind CSS باید توی چه فایل‌هایی به دنبال کلاس‌ها بگرده. این بخش برای بهینه‌سازی حجم نهایی فایل CSS خیلی مهمه. توی اینجا، مسیری که فایل‌های HTML، جاوااسکریپت، یا کامپوننت‌های React/Angular/Vue توش قرار دارن رو مشخص می‌کنی. به این صورت:

راستی اگه نمیدونی که از بین فریم‌ورک های جاوااسکریپتی فرانت اند کدوم بهتره یه سر به این مقاله بزن.

				
					content: [
  './src//*.{html,js,jsx,ts,tsx}',
  './public/index.html',
],


				
			

این مثال می‌گه که Tailwind باید تمام فایل‌های `html`, `js`, `jsx`, `ts`, و `tsx` داخل فولدر `src` و فایل `index.html` در فولدر `public` رو بررسی کنه.

2. Theme

بخش `theme` جاییه که می‌تونی تنظیمات پیش‌فرض مثل رنگ‌ها، اندازه‌ها، فونت‌ها ورو سفارشی کنی. اینجا می‌تونی استایل‌های شخصی خودت رو اضافه کنی یا مقادیر پیش‌فرض Tailwind رو تغییر بدی. به عنوان مثال:

				
					theme: {
  extend: {
    colors: {
      primary: '#1a202c',
      secondary: '#2d3748',
    },
    fontFamily: {
      sans: ['Graphik', 'sans-serif'],
    },
  },

				
			

در اینجا، رنگ‌های جدیدی به نام `primary` و `secondary` تعریف کردیم و فونت پیش‌فرض `sans` رو تغییر دادیم.

3. Plugins

اگه بخوای قابلیت‌های اضافی رو به Tailwind CSS اضافه کنی، می‌تونی از پلاگین‌ها استفاده کنی. بخش `plugins` برای این کاره. Tailwind یه سری پلاگین‌های رسمی داره که می‌تونی ازشون استفاده کنی، یا اینکه خودت پلاگین بنویسی. برای مثال:

				
					plugins: [
  require('@tailwindcss/forms'),
  require('@tailwindcss/typography'),
],

				
			

در این مثال، دو پلاگین رسمی برای فرم‌ها و تایپوگرافی به پروژه اضافه شده.

4. Extend

داخل بخش `theme`، قسمت `extend` بهت این امکان رو می‌ده که به جای جایگزینی کامل تنظیمات پیش‌فرض، فقط موارد جدیدی بهشون اضافه کنی. مثلاً اگه بخوای فقط یه سری رنگ جدید به رنگ‌های پیش‌فرض اضافه کنی بدون اینکه کل تنظیمات رنگ رو بازنویسی کنی، می‌تونی از `extend` استفاده کنی:

				
					extend: {
  colors: {
    teal: '#4dc0b5',
    orange: '#ff7849',
  },
},


				
			

5. Variants

اگه بخوای برای حالات خاصی مثل `hover`، `focus`، یا `responsive` کلاس‌های خاصی تعریف کنی، می‌تونی از بخش `variants` استفاده کنی. مثلاً:

				
					variants: {
  extend: {
    backgroundColor: ['active'],
    textColor: ['group-hover'],
  },
},

				
			

این تنظیمات اجازه می‌ده که برای کلاس‌های `backgroundColor` و `textColor` حالت‌های `active` و `group-hover` رو داشته باشی.

این یه مرور کلی بود بر ساختار و کاربرد فایل `tailwind.config.js`. با استفاده از این فایل، می‌تونی Tailwind CSS رو دقیقاً مطابق نیازها و سلیقه خودت تنظیم کنی و از انعطاف‌پذیری بالا و امکانات پیشرفته اون بهره ببری.

چگونه از کانفیگ های تنظیم شده استفاده کنیم ؟

برای اینکه بتونیم از استایل هایی که تو فایل `tailwind.cong.js` تنظیم شدن استفاده کنیم ، فقط کافیه اسمی که واسشون انتخاب کردیم رو بعد کلید (key) استایل در کلس ها استفاده کنیم. حالا این یعنی چی ؟ یعنی اگه میخوایم از یه رنگی که در فایل کانفیگ تنظیم کردیم به عنوان پس زمینه استفاده کنیم باید اینجوری عمل کنیم :

				
					<div class=“bg-teal”>استادان وب</div>
				
			

و یا برای مثال رنگ متن :

				
					<h1 class=“text-teal”>استادان وب</h1>
				
			

استایل های سفارشی در tailwind

گاهی پیش میاد که ما میخوایم از یه استایلی استفاده بکنیم که بعدا قرار نیست دوباره ازش استفاده کنیم یا به عبارتی فوری هست. اینجور استایلا بیشتر توی width یا height استفاده میشن. فرضا میزان عرضی که ما برای المان موردنظرمون میخوایم داخل استایل های اصلی و از پیش تعیین شده tailwind نیست ،‌ در این حالت میریم سراغ این روش :

				
					<div class=“w-[23.5px]”>استادان وب</div>
				
			

همونطور که مشاهده استایل  سفارشی و فوریمون رو توی دوتا آکولاد “[ ]” باز و بسته مینویسیم.

پیاده سازی یک فرم با tailwind در یک پروژه عملی

در اینجا یک فرم ساده با استفاده از HTML و کلاس‌های Tailwind CSS می‌سازیم. این فرم شامل فیلدهایی برای نام، ایمیل، رمز عبور و یک دکمه ارسال است. این مثال نشان می‌دهد که چطور می‌توانید با استفاده از Tailwind، یک فرم شیک و واکنش‌گرا ایجاد کنید.

				
					<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Tailwind CSS Form</title>
  <link href="https://cdn.jsdelivr.net/npm/tailwindcss@2.2.19/dist/tailwind.min.css" rel="stylesheet">
</head>
<body class="bg-gray-100 flex items-center justify-center min-h-screen">
  <div class="bg-white p-8 rounded-lg shadow-lg w-full max-w-md">
    <h2 class="text-2xl font-bold mb-6 text-gray-800 text-center”> استادان وب </h2>
    <form action="#" method="POST">
      <div class="mb-4">
        <label class="block text-gray-700 text-sm font-bold mb-2" for="name">
          نام
        </label>
        <input class="w-full px-3 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500" type="text" id="name" placeholder="Enter your name" required>
      </div>
      <div class="mb-4">
        <label class="block text-gray-700 text-sm font-bold mb-2" for="email">
          ایمیل
        </label>
        <input class="w-full px-3 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500" type="email" id="email" placeholder="Enter your email" required>
      </div>
      <div class="mb-4">
        <label class="block text-gray-700 text-sm font-bold mb-2" for="password">
          رمز عبور
        </label>
        <input class="w-full px-3 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500" type="password" id="password" placeholder="Enter your password" required>
      </div>
      <div class="mb-6">
        <label class="block text-gray-700 text-sm font-bold mb-2" for="confirm-password">
          Confirm Password
        </label>
        <input class="w-full px-3 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500" type="password" id="confirm-password" placeholder="Confirm your password" required>
      </div>
      <button class="w-full bg-blue-500 text-white py-2 px-4 rounded-md hover:bg-blue-600 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-opacity-50" type="submit">
        ارسال
      </button>
    </form>
  </div>
</body>
</html>

				
			

توضیحات:

ساختار کلی

  فرم درون یک div با کلاس‌های `bg-white`, `p-8`, `rounded-lg`, `shadow-lg`, `w-full`, و `max-w-md` قرار داده شده تا یک باکس زیبا با سایه و گوشه‌های گرد ایجاد شود. همچنین از `flex` برای مرکزی کردن فرم استفاده شده است.

  

استایل‌دهی فیلدها

  هر فیلد فرم دارای کلاس‌های `w-full`, `px-3`, `py-2`, `border`, `border-gray-300`, `rounded-md`, و `focus:outline-none` است که به آن‌ها استایل زیبا و حالت‌های فوکوس می‌دهد.

  

دکمه ارسال

  دکمه ارسال فرم با کلاس‌های `bg-blue-500`, `text-white`, `py-2`, `px-4`, `rounded-md`, و `hover:bg-blue-600` طراحی شده که با رفتن نشانگر روی آن رنگ آن کمی تیره‌تر می‌شود.

این فرم با استفاده از Tailwind CSS به راحتی قابل شخصی‌سازی است و می‌توانید کلاس‌ها و استایل‌های مختلفی را بر اساس نیاز خود به آن اضافه کنید.

نتیجه گیری

استفاده از Tailwind CSS در توسعه وب به شما این امکان را می‌دهد که با سرعت و کارایی بیشتری پروژه‌های خود را طراحی و پیاده‌سازی کنید. با ترکیب کلاس‌های کاربردی و انعطاف‌پذیری بالا، شما می‌توانید به راحتی طراحی‌های سفارشی و منحصر به فردی ایجاد کنید، بدون اینکه نیاز به نوشتن کدهای CSS پیچیده داشته باشید.

مزایای Tailwind CSS مانند کاهش نیاز به نوشتن CSS سفارشی، طراحی ریسپانسیو ساده‌تر، و قابلیت بهینه‌سازی حجم نهایی فایل‌های CSS، این فریم‌ورک را به یک انتخاب محبوب در میان توسعه‌دهندگان تبدیل کرده است. همچنین، با پیکربندی و سفارشی‌سازی آسان از طریق فایل `tailwind.config.js`، می‌توانید کنترل کاملی بر طراحی خود داشته باشید.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

نظر خودتان با ما به اشتراک بگذارید  ( اٌستادان وب )

سئوالی دارید ما هستیم !

خوشحالیم که بیش از 2 دقیقه در سایت ما بودی!

برای استفاده از مشاوره ما میتونی شماره رو وارد کنی تا باهات تماس بگیریم.