CSS: متغيرات CSS
آخر تحديث: 2026-10-13
المتغيرات CSS (الخصائص المخصصة) تتيح لك تعريف قيم قابلة لإعادة استخدام في CSS، مشابهة للمتغيرات في لغات البرمجة. استخدام متغيرات CSS يمكن أن يُقلل بشكل كبير من الكود المتكرر ويجعل من السهل إدارة رموز التصميم مثل ألوان المواضيع والمسافات.
1. تعريف المتغيرات
متغيرات CSS تستخدم أسماء خصائص مخصصة (تبدأ بـ--):
▶ مثال
▶ جرّب الكود2. استخدام المتغيرات
استشهد بالمتغيرات باستخدام دالة var():
▶ مثال
▶ جرّب الكود3. نطاق المتغيرات
نطاق متغيرات CSS يُحدد بمكان تعريفها:
متغيرات عامة — مُعرفة في :root:
▶ مثال
▶ جرّب الكودمتغيرات محلية — مُعرفة في مُحدد محدد، تعمل فقط في ذلك المُحدد وأبنائه:
▶ مثال
▶ جرّب الكود4. توريث المتغيرات
متغيرات CSS تتوارث مثل خصائص CSS العادية:
▶ مثال
▶ جرّب الكود5. قيم احتياطية لـ var()
var() يمكنها تعيين معلمة ثانية كقيمة احتياطية — تُستخدم عندما يكون المتغير غير مُعرَّف:
▶ مثال
▶ جرّب الكود6. تعديل المتغيرات بـ JavaScript
data-theme على <html>، واستخدم المتغيرات في CSS للإشارة إلى ألوان مختلفة، وسطر واحد من كود JS يمكنه تبديل مخطط ألوان الموقع بأكمله.
ميزة رئيسية لمتغيرات CSS هي أنه يمكن تعديلها ديناميكياً عبر JavaScript:
▶ مثال
▶ جرّب الكود7. تنفيذ تبديل السمة
متغيرات CSS هي أفضل طريقة لتنفيذ تبديل السمة مثل "الوضع الداكن":
▶ مثال
▶ جرّب الكودثم قم بتبديل السمات عبر JavaScript:
document.documentElement.setAttribute('data-theme', 'dark');
// أو
document.documentElement.setAttribute('data-theme', 'light');
8. مزايا متغيرات CSS
- تقليل الكود المتكرر: متغير واحد يُستخدم في أماكن كثيرة، غيّره مرة واحدة لتحديث الكل
- قابل للتعديل في وقت التشغيل: يمكن تغييره ديناميكياً عبر JS لتبديل السمة
- التحكم في النطاق: يمكن تجاوز قيم المتغيرات في حاويات محددة
- دلالي:
--primary-colorأسهل في الفهم من#3498db
9. الاختلافات عن المعالجات المسبقة
متغيرات CSS (الخصائص المخصصة) تختلف عن متغيرات Sass/Less:
| الميزة | متغيرات CSS | متغيرات Sass |
|---|---|---|
| التعديل في وقت التشغيل | ✅ نعم | ❌ ثابت بعد التجميع |
| النطاق | ✅ توريث CSS | ❌ قيم ثابتة بعد التجميع |
| المتصفح | دعم المتصفحات الحديثة | لا حاجة لدعم المتصفح (مُجمع مسبقاً) |
| تفاعل JS | ✅ قابل للقراءة/الكتابة | ❌ غير قابل للوصول |
❓ أسئلة شائعة
:root متوفرة عالمياً؛ المتغيرات المُعرفة على عنصر تعمل فقط في ذلك العنصر وأبنائه. هذه الخاصية تتيح التجاوز المحلي للسمة — أعطِ حاوية قيم متغيرات مختلفة، وجميع المراجع لتلك المتغيرات بالداخل تتغير تلقائياً.:root، وتجاوزها بقيم داكنة في [data-theme="dark"]، ثم سطر واحد من JavaScript document.documentElement.dataset.theme = "dark" يمكنه تبديل مخطط ألوان الموقع بأكمله.📖 ملخص
- متغيرات CSS هي أدوات مهمة جداً في تطوير CSS الحديث
- تُحدد بـ
--اسم-المتغير، وتُستخدم بـvar()، تجعل كود النمط أنظف وأسهل في الصيانة - أكبر قيمة: غيّر قيمة واحدة، وجميع الأماكن التي تشير إلى ذلك المتغير تتحدث تلقائياً
- تبديل السمة، مخططات ألوان متجاوبة، لغة تصميم موحدة — متغيرات CSS مفيدة بشكل خاص في المشاريع الكبيرة
📝 تمارين
- أنشئ صفحة باستخدام متغيرات CSS لتعريف 5 متغيرات على الأقل لألوان المواضيع وألوان النص والمسافات وغيرها، واستخدمها في جميع أنحاء الصفحة.
- بناءً على الصفحة أعلاه، نفّذ "تبديل لون السمة بنقرة واحدة" — عدّل متغير اللون الأساسي في
:rootوراقب التغييرات في جميع العناصر ذات الصلة. - استخدم متغيرات CSS لتنفيذ تبديل بسيط بين "الوضع النهاري/الليلي" (بتبديل الفئة أو سمة data-theme عبر JS).
- تجاوز محلياً قيم متغيرات CSS في حاوية (مثل مكوّن البطاقة) وراقب تغييرات النمط في العناصر الابنة.