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

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

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

إعداد البيئة وتهيئة المشروع (Environment Setup and Project Initialization)

ابدأ باستخدامTailwind CSSالخطوة الأولى هي دمجه في مشروعك. الطريقة الموصى بها هي استخدام أداة الواجهة السطرية (CLI) الرسمية الخاصة به، أو دمجه مع سلاسل أدوات البناء الموجودة مسبقًا مثل Vite أو Webpack.

التثبيت السريع عبر NPM و CLI

بالنسبة لمعظم المشاريع، فإن تثبيت الأدوات وتهيئتها باستخدام npm (Node Package Manager) هو الطريقة الأكثر كفاءة. أولاً، قم بتنفيذ الأمر في تطبيق الترمينال (Terminal) من داخل المجلد الرئيسي للمشروع لتثبيت الTailwind CSSوما يعتمد عليه.

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

npm install -D tailwindcss
npx tailwindcss init

تنفيذnpx tailwindcss initسيقوم الأمر بإنشاء ملف يحمل الاسمtailwind.config.jsملف الإعدادات… هذا هو الأداة المستخدمة للتحكم.Tailwindالملف الأساسي للسلوك (Behavior Core File): يمكنك فيه تعريف المواضيع (Themes)، والإضافات (Plugins)، والأهم من ذلك – تحديد المعلمات اللازمة (Specifying Parameters).Tailwindما هي الملفات التي يجب مسحها لإنشاء الأنماط؟

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

تكوين مسار ملف قالب

بعد ذلك، من الضروري إجراء التعديلات اللازمة.tailwind.config.jsالملف، في…contentحدد مسار ملف قالب مشروعك في الخصائص. هذا يضمن…Tailwindمترجم الكود (محرك JIT) قادر على تحديد جميع الملفات التي تستخدم هذه الفئات العملية (utility classes)، ومن ثم إنتاج الكود CSS المناسب فقط.

// tailwind.config.js
/** @type {import('tailwindcss').Config} */
module.exports = {
  content: ["./src/**/*.{html,js,jsx,ts,tsx,vue}"],
  theme: {
    extend: {},
  },
  plugins: [],
}

إدخال تعليمات الأسلوب الأساسية.

وأخيرًا، في ملف CSS الرئيسي الخاص بك (على سبيل المثال…src/styles.cssأوsrc/index.cssفي هذا البرنامج، يتم استخدام@tailwindالأمر المطلوب هو تضمين بعض المحتويات داخل النص.Tailwindجميع الطبقات.

/* src/styles.css */
@tailwind base;
@tailwind components;
@tailwind utilities;

الآن، قم بتشغيله.npx tailwindcss -i ./src/styles.css -o ./dist/output.css --watchالأمر (Command)Tailwindسيبدأ النظام في مراقبة أي تغييرات تحدث في ملفات المصدر الخاصة بك، وسيقوم تلقائيًا بتجميع وتحويل هذه التغييرات إلى ملفات CSS جاهزة للاستخدام في بيئة الإنتاج في الوقت الفعلي.

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

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

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

نظام المسافات، التنسيق، والألوان

Tailwindتم توفير مقياس مسافات افتراضي يعتمد على وحدة “rem”، بالإضافة إلى مجموعة كاملة من أدوات التنسيق. على سبيل المثال،p-4يعني ذلك أن قيمة الهامش الداخلي (padding) تساوي 1 ريم (rem).mt-2يعني ذلك أن هامش العلو (margin-top) يساوي 0.5rem. بالنسبة للنصوص، يمكنك استخدام هذا القيمة في التنسيقات الخاصة بالعرض.text-lgلتعيين خط كبير الحجم، استخدم…font-boldلجعل النص بارزًا (مكتوبًا بخط عريض)، استخدم الخيار المناسب في البرنامج أو الأداة المستخدمة.text-gray-800لتعيين النص باللون الرمادي الداكن…

نظام الألوان قوي للغاية، حيث يتوفر لكل لون درجات من السطوع تتراوح بين 50 و900. على سبيل المثال،bg-blue-500يعني ذلك أن لون الخلفية هو الأزرق بدرجة متوسطة.hover:bg-blue-600يعني ذلك أن اللون سيتحول إلى الأزرق الداكن عندما يتم تحريك الماوس فوقه.

استخدام تقنيات Flexbox و Grid لتنسيق العناصر على الصفحة.

إنشاء تخطيط الصفحة (Page Layout) هو عملية تحديد ترتيب عناصر الصفحة الويب وتنسيقها بشكل يجعل المحتوى يبدو مرتبًا وسهل القراءة. يتضمن ذلك تحديد مواقع العناوين، النصوص، الصور، الروابTailwindمن نقاط القوة… من خلال…flexوgridالفئات ذات الصلة تسمح بإنشاء مختلف التخطيطات المعقدة بسرعة.

منشئ مواقع الويب Bluehost
تقدم أداة إنشاء مواقع الويب بالذكاء الاصطناعي، ودعم عبر الدردشة المباشرة والدعم عبر الهاتف على مدار الساعة طوال أيام الأسبوع، واسم نطاق مجاني لمدة عام واحد، وشبكة CDN مجانية، واتفاقية مستوى الخدمة 99.99%
<div class="flex flex-col md:flex-row">
  <aside class="w-full md:w-1/4 p-6 bg-gray-100">
    <!-- 侧边栏内容 -->
  </aside>
  <main class="w-full md:w-3/4 p-6">
    <div class="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-6">
      <!-- 网格卡片内容 -->
      <div class="bg-white rounded-lg shadow p-4">البطاقة 1</div>
      <div class="bg-white rounded-lg shadow p-4">البطاقة 2</div>
      <div class="bg-white rounded-lg shadow p-4">البطاقة 3</div>
    </div>
  </main>
</div>

في المثال أعلاه، قمنا بإنشاء حاوية مرنة تُرتب بشكل عمودي بشكل افتراضي، وتتحول إلى ترتيب أفقي عندما يكون حجم الشاشة أكبر من المتوسط. تم استخدام تقنية CSS Grid لتنظيم المحتوى الرئيسي، حيث يتغير عدد الأعمدة تلقائيًا مع تغير حجم الشاشة (عمود واحد على الشاشات الصغيرة، عمودان على الشاشات المتوسطة، وثلاثة أعمدة على الشاشات الكبيرة)، وتgap-6)。

تحقيق التصميم التكيفي (الريسبونسيف) وحالات التفاعل (التفاعلية)

التصميم التفاعلي (الريسبونسيف) هو الأساس الذي يقوم عليه بناء صفحات الويب الحديثة.Tailwind CSSتتبنى هذه الاستراتيجية نهجًا يعطي الأولوية للأجهزة المحمولة، وتتميز ميزاتها التكيفية بأنها بسيطة وفي نفس الوقت قوية للغاية.

نظام نقاط التوقف المُفضل للأجهزة المحمولة (Mobile-First Breakpoint System)

Tailwindتم توفير خمسة بادئات لنقاط التوقف الاستجابية (responsive breakpoints) بشكل افتراضي:smmdlgxl2xlيمكن تطبيق هذه البادئات على معظم الفئات العملية (classes) لتحقيق التحكم في الأنماط (styles) على أحجام الشاشات المختلفة. الأنماط التي لا تحتوي على بادئة تنطبق على جميع الشاشات، بينما الأنماط التي تحتوي على بادئة تبدأ في ال

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

على سبيل المثال.text-center sm:text-leftيُشير ذلك إلى ضرورة تحقيق تمركز النصوص على الشاشات الصغيرة وما دونها بشكل صحيح.smيتم محاذاة النصوص التي تزيد عن حجم النقطة المقطوعة (640 بكسل) إلى اليسار.

معالجة حالات التوقف المؤقت، والتركيز، وما إلى ذلك.

Tailwindمن خلال استخدام بادئات متنوعة للحالات (status variants prefixes)، يمكنك بسهولة تصميم أنماط لحالات التفاعل المختلفة. من بين البادئات الشائعة:hover:focus:active:disabled:إلخ.

hosting.com
SSL مجاني، Cloudflare CDN، Cloudflare CDN، WAF، أكثر من 40 غرفة خوادم عالمية للاختيار من بينها، ووقت استجابة أقل بالقرب منك، ودعم الخدمة على مدار الساعة طوال أيام الأسبوع/365، يمكنك الآن توفير ما يصل إلى 671 تيرابايت، ودعم إنشاءات الذكاء الاصطناعي وتحسين محركات البحث!
<button class="bg-blue-500 text-white py-2 px-4 rounded hover:bg-blue-600 focus:outline-none focus:ring-2 focus:ring-blue-300 focus:ring-opacity-50 transition duration-150 ease-in-out">
  点击我
</button>

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

التكوين المخصص وتحسين الأداء في البيئة الإنتاجية

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

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

فيtailwind.config.jsمستنداتtheme.extendفي الكائن (object)، يمكنك إضافة قيم جديدة أو تغيير الإعدادات الافتراضية للتصميم (theme settings)، مثل الألوان والخطوط ونسب المسافات (spacing ratios)، دون أن يؤثر ذلك على أي جزء آخر من النظام.Tailwindالقيمة الافتراضية.

// tailwind.config.js
module.exports = {
  theme: {
    extend: {
      colors: {
        'brand-primary': '#1d4ed8',
        'brand-secondary': '#7e22ce',
      },
      fontFamily: {
        'sans': ['"Inter"', 'system-ui', 'sans-serif'],
      },
      spacing: {
        '128': '32rem',
      }
    },
  },
}

بهذه الطريقة، يمكنك استخدامها في المشروع.bg-brand-primaryأوfont-sansمثل هذه الفئات المخصصة.

تنقية الأنماط غير المستخدمة

لضمان أن يكون حجم حزمة الإنتاج النهائية في أصغر حجم ممكن،Tailwindسيعمل محرك JIT (Just-In-Time) بدقة تامة وفقًا لـ…contentيتم إنشاء ملفات CSS استنادًا إلى الأسماء الفعلية للفئات الموجودة في الملفات المُعدة للتكوين. لا حاجة لتشغيل أداة PurgeCSS يدويًا. عند بناء النسخة النهائية من المنتج، ما عليك سوى التأكد من تنفيذ الأوامر الصحيTailwindسيتم توليد ملف CSS تلقائيًا يحتوي فقط على الفئات (الكلاسات) التي استخدمتها، وهو ملف محسن بشكل كبير من ناحية الأداء.

NODE_ENV=production npx tailwindcss -i ./src/styles.css -o ./dist/output.css --minify

الاستفادة من--minifyيمكن للعلامات (symbols) أن تساعد في ضغط ملفات CSS الناتجة بشكل أكبر.

الملخصات

Tailwind CSSلقد غيرت هذه المنهجية بشكل جذري طريقة كتابة المطورين للـ CSS. فهي تلغي الحاجة إلى التنقل ذهابًا وإيابًا بين ملفات HTML وCSS، مما يقلل من الوقت والجهد المبذول، وتضمن تناسق الأنماط من خلال نظام تصميم إلزامي، كما تسهل بشكل كبير بناء واجهات حديثة ومتكيفة ومليئة بالتفاعلات بفضل ميزاتها القوية المتعلقة بالتصميم الاستجابي وتغييرات الحالة. سواء كان الأمر يتعلق بإعداد البيئة، أو استخدام الفئات الأساسية، أو التصميم الاستجابي، أو التخصيص العميق والتحسينات، فإن إتقان هذه المنهجية ضTailwind CSSهذا يعني أن لديك مجموعة أدوات قوية يمكنك استخدامها لمواجهة مختلف تحديات واجهات المستخدم الأمامية. على الرغم من أن منحنى التعلم يتطلب حفظ عدد كبير من أسماء الكلاسات، إلا أن سرعة التطوير وسهولة الصيانة ستتحسنان بشكل كبير بم

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

هل قد يؤدي استخدام Tailwind CSS إلى جعل كود HTML طويلاً ومعقداً؟

هذا هو مصدر قلق شائع. بالفعل، قد تظهر العديد من أسماء الفئات (class names) في HTML، ولكن غالبًا ما يتم اعتبار ذلك جزءًا من توازن معين (أي أن هناك تكاليف أو عيوب مرتبطة باستخدام هذه الأسTailwind CSS将样式决策从CSS文件转移到了HTML模板中,这实际上提高了可读性,因为你一眼就能看出一个元素的外观。对于复杂的类列表,可以使用模板语法(如React的className、Vue的:class)进行组合和管理,或者提取为可复用的组件,从而保持模板的整洁。

كيف يمكن تغيير أنماط (styles) مكونات الطرف الثالث المستخدمة في Tailwind CSS؟

عندما تحتاج إلى تغيير محتوى شيء تم استخدامه سابقًا…Tailwindعند تطبيق أنماط لمكونات خارجية (third-party components) داخل الفئات (classes)، هناك عدة طرق متاحة. أسهلها هو استخدام أسماء فئات أكثر دقة في ملف HTML/القوالب الخاصة بك، مع الاستفادة من خصوصية أنماط CSS (CSS specificity). طري!importantالنسخة المعدلة: أضف شيئًا بعد اسم الفئة.!importantعلى سبيل المثالbg-red-500!الطريقة الموصى بها أكثر هي أن تقوم بـ…tailwind.config.jsفي هذه الحالة، يمكن زيادة التخصيص في أسلوب تصميم العناصر (CSS) لمكونات معينة، أو تغيير أسلوب تصميمها عن طريق تغليف هذه المكونات وتمرير أسماء فئات مخصصة (custom class names) إليها.

ما هي إطارات عمل JavaScript التي يمكن استخدامها مع Tailwind CSS؟

Tailwind CSSلا يتعلق الأمر بأي إطار عمل (framework) معين؛ يمكن دمجه بشكل مثالي مع أي تقنية تدعم استخدام CSS و HTML. حاليًا، يتمتع بدرجة عالية من التكامل والدعم المجتمعي مع الإطارات الرئيسية مثل React، Vue.js، Angular، Svelte، Next.js، Nuxt.js، Gatsby، وغيرها. كما توفر الشركة المطورة إضافات (plugins) مخصصة لبعض الإطارات (مثل Next.js) لتحسين تجربة التطوير.

هل ستزيد قيم الأنماط المخصصة من حجم ملف CSS النهائي؟

لن يزداد حجمه بشكل غير محدود. وذلك بفضل…Tailwind CSSفي وضع Just-in-Time (JIT)، لا يتم إنشاء الكلاسات CSS إلا إذا تم استخدامها بالفعل في قوالب مشروعك، وبالتالي فإنها فقط ما يتم تضمينه في ملف CSS النهائي. حتى لو قمت بتوسيع مجموعة كبيرة من الألوان المخصصة والمسافات والخطوط في ملفات الإعدادات، فإنه طالما لم يتم الإشارة إلى هذه الكلاسات في ملف HTML الخاص بك، فلن يتم تطبيق التغييرات.bg-my-custom-colorإذا تم تعيين هذه الأنماط (styles)، فلن تظهر في ملف الناتج (output file).Tailwind CSSالضوابط الرئيسية للحفاظ على حجم حزمة الإنتاج صغيرًا قدر الإمكان.