الدليل النهائي لـ Tailwind CSS: بناء صفحات ويب حديثة ومستجيبة من الصفر.

2 دقيقة للقراءة
2026-03-13
3,016
أنا أحصل على عمولة عند التسوق عبر الروابط أدناه، ولا يُضاف أي تكلفة عليك.

ما هو Tailwind CSS؟

في مجال تطوير الواجهات الأمامية اليوم، أصبحت أطر CSS التي تعتمد مبدأ “الوظيفية أولاً” (Utility-First) خيارًا رئيسيًا تدريجيًا. Tailwind CSS إنه بالفعل واحد من أفضل الأدوات في هذا المجال. ليس إطار عمل واجهة مستخدم (UI) تقليديًا يوفر مكونات محددة مسبقًا (مثل الأزرار أو البطاقات)، بل مجموعة أدوات تركز على الوظائف أكثر من التصميم. الفكرة الأساسية هي تغليف جميع خصائص التصميم في فئات CSS مستقلة وقابلة لإعادة الاستخدام، حيث يمكن للمطورين تطبيق هذه الفئات مباشرة على عناصر class يتم دمج هذه الفئات معًا ضمن الخصائص (properties) لبناء التصميم.

مقارنةً بطرق كتابة CSS التقليدية، استخدام… Tailwind CSS يمكن أن يساعدك على التخلص من المتاعب الناتجة عن الحاجة المتكررة للتبديل بين ملفات أنماط (stylesheets) وهياكل HTML، مما يسمح لك بالتركيز بشكل أفضل على ملف القالب (template file) الواحد. تم تصميم أسماء الف text-lg يمثل الخط الكبير (الحجم الكبير).p-4 المسافة الداخلية التي تمثل قيمة 1rem.bg-blue-500 يمثل لون الخلفية الأزرق المتوسط. هذا الأسلوب ساعد بشكل كبير في تسريع عملية بناء واجهة المستخدم (UI)، ومنع بفعالية مشاكل تضخم الأنماط وصعوبات التسمية التي قد تنشأ مع نمو المشروع.

إعداد البيئة والتكوينات الأساسية

قبل البدء في استخدام Tailwind CSS، من الضروري دمجه في مشروعك. توجد العديد من الطرق المتاحة لدمجه مع أدوات البناء الشائعة.

القراءة الموصى بها دليل تمهيدي لـ Tailwind CSS: شرح مفصل لإطار العمل العملي لبناء صفحات ويب حديثة ومتجاوبة

التكامل باستخدام PostCSS

الطريقة الأكثر شيوعًا هي استخدام إضافة PostCSS. أولاً، قم بتثبيت Tailwind والمكونات المعتمدة عليه باستخدام أدوات إدارة الحزم مثل npm أو yarn. الحزمة الأساسية هي… tailwindcsspostcss و autoprefixer

مساعد منشئ مواقع الويب WordPress.com
مساعد منشئ مواقع الويب WordPress.com
إتاحة 99.999% 99.999% + التعافي من الكوارث عبر المناطق، دعم على مدار الساعة طوال أيام الأسبوع، موقع مجاني لبناء موقع ذكاء اصطناعي مع شراء باقة المدونة
مساعد منشئ مواقع الويب UltaHost
مساعد منشئ مواقع الويب UltaHost
أكثر من 900 قالب مجاني وقابل للتخصيص للحصول على قوة تحسين محركات البحث التي تحتاجها لتحسين موقعك الإلكتروني من أجل عرض البحث

بعد إكمال عملية التثبيت، من الضروري إنشاء ملف تكوين لـ Tailwind. قم بتشغيل الأمر التالي في المجلد الرئيسي للمشروع: npx tailwindcss init الأمر سيقوم بإنشاء شيء يُسمى… tailwind.config.js ملف التكوين هذا هو جوهر تخصيص Tailwind؛ يمكنك من خلاله تحديد ألوان الموضوعات، الخطوط، نقاط الاختراق، وغيرها من عناصر التصميم. أحد البنود الرئيسية في ملف التكوين هو… content(ربما كان الأمر كذلك في الإصدارات القديمة) purgeيُستخدم هذا الملف لتحديد مسارات الملفات التي تحتوي على كلاسات Tailwind CSS داخل المشروع، وذلك من أجل تنفيذ عملية “تحسين الأداء” (Performance Optimization) أثناء عملية البناء النهائي (Production Build). تهدف هذه العملية إلى إزالة جميع الأنماط غير المستخدمة، مما يؤدي إلى إنتاج ملف CSS أ

بعد ذلك، قم بإنشاء ملف CSS رئيسي (على سبيل المثال... src/styles.css)، وفي بداية الملف يتم ذكر ذلك من خلال… @tailwind تقوم هذه الأوامر بإدخال مستويات الأنماط المختلفة الخاصة بـ Tailwind CSS إلى الموقع.

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

أخيرًا، قم بتكوين عملية البناء الخاصة بك (مثل استخدام أداة webpack أو Vite) لاستخدام PostCSS في معالجة ملف CSS. سيقوم إضافة Tailwind تلقائيًا بتحويل التعليمات المذكورة أعلاه إلى فئات (classes) عملية تُستخدم في الكود.

البدء السريع باستخدام خدمات CDN

بالنسبة لإنشاء النماذج الأولية بسرعة أو عروض توضيحية بسيطة، يمكن أيضًا استخدام أنماط Tailwind CSS مباشرة عبر روابط CDN. ما عليك سوى إضافة الروابط المناسبة إلى ملف HTML الخاص بك. <head> يمكن إضافة رابط في بعض الحالات. لكن يرجى ملاحظة أن طريقة استخدام خدمات CDN لا تسمح بتحسين أداء الموقع (مثل تقنية “الهز” – “shake” المستخدمة في بعض الأنظمة)، ولا تشمل المواضيع المخصصة الموجودة في ملفات الإ @apply هذه الأداة مصممة لأغراض تعليمية أو في سيناريوهات بسيطة للغاية، ولذلك يُنصح باستخدامها فقط في تلك الحالات.

القراءة الموصى بها إتقان لغة Tailwind CSS: دليل الأفكار الأساسية والحيل العملية من المبتدئين إلى المحترفين

الفئات الأساسية العملية وبناء التخطيط (Core Practical Classes and Layout Construction)

توفر مكتبة Tailwind CSS فئات وظيفية (functional classes) تغطي معظم خصائص CSS، وقواعد تسميتها بسيطة وسهلة التذكر.

المسافات ونموذج الصناديق (Spacing and the Box Model)

المسافات هي أساس التصميم. يستخدم Tailwind نظام تحجيم موحد لتحديد الهوامش (margin) والمسافات الداخلية (padding). تكون صيغة أسماء الفئات كالتالي: {property}{side}-{size}على سبيل المثال:
- m-4: قم بتعيين جميع المسافات الجانبية (margins) إلى قيمة 1rem.
- mx-auto: تعيين هامش الاتجاه الأفقي إلى "auto"، وهو يُستخدم غالبًا لتحديد موقع عناصر من نوع "block" في المنتصف.
- p-6: قم بتعيين جميع المسافات الداخلية (padding) إلى قيمة 1.5rem.
- pt-2قم فقط بتعيين المسافة الداخلية العلوية (padding-top) إلى قيمة 0.5rem.

يمكنك بسهولة دمج هذه الفئات (الكلاسات) لإنشاء تأثيرات مسافات معقدة، دون الحاجة إلى كتابة أكواد CSS مخصصة.

منشئ مواقع الويب Bluehost
تقدم أداة إنشاء مواقع الويب بالذكاء الاصطناعي، ودعم عبر الدردشة المباشرة والدعم عبر الهاتف على مدار الساعة طوال أيام الأسبوع، واسم نطاق مجاني لمدة عام واحد، وشبكة CDN مجانية، واتفاقية مستوى الخدمة 99.99%

تخطيط Flexbox وGrid

توفر منصة Tailwind دعمًا شاملًا لحلول التخطيط الحديثة مثل Flexbox وCSS Grid. بالنسبة لـ Flexbox، يمكنك استخدام أدوات وميزات مثل… flex, flex-col, justify-between, items-center تُستخدم فئات مماثلة لتحقيق متطلبات المحاذاة والتوزيع المختلفة بسرعة.

<div class="flex flex-col md:flex-row justify-between items-center p-4 gap-4">
  <div>المشروع أ</div>
  <div>المشروع باء</div>
  <div>المشروع C</div>
</div>

المثال أعلاه أنشأ عنصرًا يتم ترتيب محتوياته بشكل عمودي بشكل افتراضي، وعند استخدام شاشات بحجم متوسط أو أكبر يتم ترتيب المحتويات أفقيًا، مع محاذاة النصوص على الجانبين وتركيزها بشكل عمودي. كما يتضمن هذا العنصر هوامش داخلية (padding) grid, grid-cols-3, gap-4 إلخ، يمكن إنشاء نظام شبكي بسرعة.

تحقيق التصميم التفاعلي والمستجيب.

نظام نقاط التوقف التفاعلية (Responsive Breakpoint System)

تتبنى Tailwind استراتيجية تصميم متجاوبة تركز على الأجهزة المحمولة أولاً. يعتمد نظام نقاط القطع الافتراضي الخاص بها على أحجام الأجهزة الشائعة، ويشمل… sm (640 بكسل), md (768 بكسل), lg (1024 بكسل), xl (1280 بكسل), 2xl (1536px). لتطبيق الأنماط على نقاط توقف معينة أو أعلى، ما عليك سوى إضافة بادئة نقطة التوقف قبل الفئة المستخدمة، مع فصلها بعلامة النقطة.

القراءة الموصى بها تيلويند CSS: من الأساسيات إلى الإتقان، دليل عملي لبناء صفحات ويب حديثة ومتجاوبة.

على سبيل المثال.text-sm md:text-lg يعني ذلك استخدام خط صغير بشكل افتراضي (على الأجهزة المحمولة)، واستخدام خط كبير على الشاشات المتوسطة والأكبر حجمًا.hidden md:block هذا يعني أن العنصر سيتم إخفاؤه على الأجهزة المحمولة، وسيتم عرضه على الشاشات المتوسطة والأكبر حجمًا فما فوق. يمكنك… tailwind.config.js أنا أحبك، أيها الأخ الأكبر. theme.screens يمكن تخصيص بعض نقاط التوقف (الـ “breakpoints”) بشكل كامل حسب الحاجة.

اختلافات الحالات والتفاعل الديناميكي

بالإضافة إلى كونها متجاوبة مع أحجام الشاشات المختلفة، تدعم Tailwind أيضًا العديد من أنواع التغييرات في الأسلوب (Variants)، مما يسمح لك بتطبيق الأنماط بسهولة على حالات مختلفة. أكثر أنواع التغييرات شيوعًا هي حالات
- hover:bg-blue-700يتغير لون الخلفية إلى الأزرق الداكن عند تحريك الماوس فوقه.
- focus:ring-2 focus:ring-blue-500يتم إضافة هالة زرقاء عندما يحصل العنصر على التركيز (focus).
- active:scale-95عند النقر على العنصر، يتقلص قليلاً لخلق إحساس بالضغط.
- disabled:opacity-50عندما يتم تعطيل العنصر، يصبح شفافًا جزئيًا.

hosting.com
SSL مجاني، Cloudflare CDN، Cloudflare CDN، WAF، أكثر من 40 غرفة خوادم عالمية للاختيار من بينها، ووقت استجابة أقل بالقرب منك، ودعم الخدمة على مدار الساعة طوال أيام الأسبوع/365، يمكنك الآن توفير ما يصل إلى 671 تيرابايت، ودعم إنشاءات الذكاء الاصطناعي وتحسين محركات البحث!

يمكنك أيضًا تطبيق مختلف الخصائص أو الإعدادات على عناصر النموذج (form elements). checked, required هذه الحالات المختلفة يمكن دمجها مع نقاط التوقف التفاعلية (responsive breakpoints) لإنشاء تصاميم تفاعلية معقدة للغاية، مع الحفاظ على سهولة قراءة الكود وسهولة صيانته.

الميزات المخصصة والمتقدمة

على الرغم من أن Tailwind جاهز للاستخدام فور التثبيت، إلا أن قوته الحقيقية تكمن في قابليته العالية للتخصيص.

توسيع وتغطية المواضيع (Expanding and Covering Topics)

في tailwind.config.js مستندات theme في قسم الإعدادات، يمكنك توسيع أو تغيير النظام التصميمي الافتراضي. على سبيل المثال، يمكنك إضافة ألوان العلامة التجارية الجديدة، تخصيص نسب المسافات بين العناصر، أو إدخال عائلات خطوط جديدة.

// tailwind.config.js
module.exports = {
  theme: {
    extend: {
      colors: {
        'brand-primary': '#1a56db',
      },
      spacing: {
        '128': '32rem',
      }
    },
  },
}

من خلال extend يمكنك إضافة قيم جديدة إلى الموضوع الحالي، وستتم دمج هذه القيم مع المحتوى الموجود دون أن تغطيه أو تحل محله. كما أنه بإمكانك أيضًا عدم إجراء أي تغييرات على الموضوع الحالي. extend التعريف المباشر theme الخصائص الموجودة أدناه، ولكن هذا سيحل محل القيمة الافتراضية لتلك الخاصية بالكامل.

استخراج المكونات واستخدام التعليمات

لتجنب كتابة قوائم الفئات الطويلة والمكررة في HTML، يوفر Tailwind… @apply هذه الإرشادات تسمح لك بإخراج الفئات العملية (practical classes) من كود CSS الخاص بك وتحويلها إلى فئات CSS مخصصة (custom CSS classes).

.btn-primary {
  @apply py-2 px-4 bg-blue-500 text-white font-semibold rounded-lg shadow-md hover:bg-blue-700 focus:outline-none focus:ring-2 focus:ring-blue-400;
}

بهذه الطريقة، يمكنك استخدامها في HTML. class=”btn-primary” لتطبيق هذه المجموعة الكاملة من الأنماط، يجب استخدامها بحذر. @applyقد يؤدي الاستخدام المفرط إلى العودة إلى الطريقة التقليدية لكتابة أكواد CSS، مما يؤدي إلى فقدان بعض المزايا المتعلقة بالأولويات العملية في تنفيذ الأوامر.

بالإضافة إلى ذلك، يدعم Tailwind أيضًا استخدام… @layer التعليمة تقوم بإدخال الأنماط المخصصة إلى… base, components, utilities في هذه الطبقات الثلاث، يجب التأكد من أن الأنماط تتم إنشاؤها بالترتيب الصحيح وأنها تشارك في عملية تحسين أداء النظام (المعروفة باسم “تحسين عملية التقليب” – “Tree Shaking Optimization”).

الملخصات

لقد غيرت مكتبة Tailwind CSS بشكل جذري طريقة عمل المطورين في بناء واجهات المستخدم، وذلك من خلال مفهومها الفريد والعملي المتعلق بترتيب أولويات استخدام الأساليب والخصائص. فهي توفر مجموعة من الكلاسات القابلة للتجميع والاستخدام المرن، مما يسمح بنقل عملية تنفيذ التصميمات من ملفات الأنماط (style sheets) إلى كود HTML (أو قوالب JSX/Vue)، مما يؤدي إلى تسريع عملية التطوير بشكل كبير وتحقيق تناسق في التصميم. كما أن نظامها التفاعلي الداخلي وإمكانيات تعديل الحالات (state variations) تجعل من السهل للغاية إنشاء صفحات ويب حديثة تتكيف مع مختلف أنواع الشاشات وأجهزة المستخدم. بالإضافة إلى ذلك، فإن ميز tailwind.config.js الملفات التي يتم إنشاؤها باستخدام Tailwind CSS يمكن أن تندمج بسلاسة مع أي نظام تصميم. قد يحتاج المبتدئون إلى حفظ بعض أسماء الفئات (classes)، لكن قواعد التسمية الواضحة وإضافات التلميحات الذكية القوية تساعد أي مطور على البدء في العمل بسرعة. إتقان Tailwind CSS يعني امتلاكك لحل تصميمي فعال وسهل الصيانة ومتطور باستمرار مع تقدم التقنيات.

الأسئلة الشائعة الأسئلة المتداولة

هل استخدام Tailwind سيجعل ملفات HTML ضخمة ومعقدة للغاية؟

هذا السؤال هو أحد أكثر الشكوك شيوعًا لدى المطورين عندما يتعرفون على Tailwind لأول مرة. من النظرة الأولى، قد يبدو أنه يتعلق بعناصر HTML… class بالفعل، قد تصبح الخصائص طويلة جدًا. لكن هذا النوع من “التضخم” في حجم الكود يمثل توازنًا ما بين الجودة والكفاءة. فهو يقوم بتحديد جميع معلومات الأنماط بشكل محلي لكل عنصر، مما يجعل الكود أسهل في القراءة والصيانة مع نمو المشروع. لا حاجة للتنقل بين ملفات HTML وCSS، ولا داعي للقلق بشأن تعارض المحددات (selectors) أو وجود قواعد CSS غير مستخدمة. في النهاية، باستخدام تقنية PurgeCSS، تصبح ملفات CSS المنتجة في بيئة التطوير صغيرة جدًا (عادةً بضعة آلاف بايت فقط)، مما يوفر مزايا كبيرة من حيث الأداء. لذلك، فإن هذه الاستراتيجية تعتبر طريقة لتحقيق بساطة وكفاءة شاملة في نظام الأنماط، على الرغم من بعض التكرار في استخدام القوالب.

ما هي الإطارات أو المكتبات الأمامية (front-end frameworks/libraries) التي يناسب استخدامها مع Tailwind CSS؟

Tailwind CSS هو أداة لتنسيق الأنماط غير مرتبطة بأي إطار عمل (framework) معين، ويمكن دمجها بشكل مثالي مع أي مجموعة من تقنيات الواجهة الأمامية (front-end technologies). لقد انتشر استخدامه في البداية بشكل واسع مع إطارات العمل الحديثة مثل React، Vue.js، وAngular. في نماذج التطوير المكونية (component-based development) الخاصة بهذه الإطارات، يكون من الطبيعي والفعال جدًا كتابة فئات الأنماط مباشرة داخل قوالب المكونات. كما يمكن استخدام Tailwind CSS مع التطبيقات التقليدية المكونة من عدة صفحات، أو مولدات المواقع الثابتة (مثل Next.js، Nuxt.js، Gatsby، Hugo)، بل وحتى قوالب البريد الإلكتروني. وقد قدم المجتمع العديد من الإضافات (plugins) والإعدادات المسبقة (presets) المناسبة لهذه البيئات، مثل تلك المخصصة لـ Nuxt.js. @nuxtjs/tailwindcss الوحدات (modules) يمكن أن تسهل عملية التكوين (configuration).

كيف يمكن ضمان توحيد طريقة كتابة أنماط Tailwind CSS داخل الفريق؟

لضمان تناسق الكود، توصي تايلويند (Tailwind) رسميًا باستخدام إضافة Prettier. prettier-plugin-tailwindcssيمكن لهذا الإضافة أن تقوم تلقائيًا بترتيب العناصر وفقًا للتسلسل الموصى به. class يجب ترتيب الفئات العملية الموجودة في الخصائص (عادةً بالترتيب التالي: فئات التخطيط -> فئات نموذج الصندوق -> فئات النصوص -> فئات المظهر البصري -> فئات التغييرات في الحالة)، حيث أن وجود قواعد ترتيب موحدة يمكن أن يعزز بشكل كبير قابلية قراءة الكود وكفاءة التعاون بين المطورين. بالإضافة إلى ذلك، يجب على الفريق الاتفاق مسبقًا على كيفية التعامل مع المكو @applyاستخدم المعايير الصحيحة لـ (%) واستفد منها بشكل كامل. tailwind.config.js لتحديد والحفاظ على مجموعة موحدة من رموز التصميم المتوافقة مع العلامة التجارية (الألوان، المسافات، الخطوط، إلخ).

هل يمكن استخدام Tailwind فقط دون كتابة أي كود CSS مخصص على الإطلاق؟

بالنسبة لمعظم المشاريع، الإجابة هي نعم. الهدف من تصميم Tailwind هو تلبية متطلبات الأنماط (styles) الخاصة بـ 99%. فئات Tailwind العملية (practical classes) شاملة للغاية، ويمكنك العثور على فئة مناسبة تقريبًا لأي شيء، بدءًا من التخطيطات الشبكية المعقدة وحتى التأثيرات الرسومية الدقيقة. ومع ذلك، في حالات نادرة جدًا، قد تحتاج إلى كتابة سطر من الكود CSS المخصص، مثل تنفيذ تأثير مسار قص (clipping path) خاص جدًا لا يمكن تحقيقه عن طريق دمج الفئات المتاحة مسبقًا، أو تكامل مكتبة رسوم بيانية خارجية تتطلب اسم فئة معين. حتى في هذه الحالات، يمكنك الاستفادة من ميزات Tailwind لتسهيل عملية البرمجة. @layer تقوم الأوامر بدمج أنماط CSS المخصصة (المعدلة حسب الحاجة) ضمن بنية النظام، مما يضمن معالجتها وتحسين أدائها بشكل صحيح. ونتيجة لذلك، فإن استخدام أنماط CSS المخصصة قد قل بشكل كبير، لكنه لم يتم إلغاؤه تمامًا.