إعادة تعيين CSS و CSS الذري

إعادة تعيين CSS

متصفحات مختلفة لديها أنماط افتراضية مختلفة. إعادة تعيين CSS تُلغي هذه الاختلافات لعرض متسق.

إعادة تعيين أساسية

CSS
/* إعادة تعيين شاملة */
*, *::before, *::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

/* أنماط body أساسية */
body {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  line-height: 1.6;
  color: #333;
}

/* إعادة تعيين الروابط */
a {
  text-decoration: none;
  color: inherit;
}

/* صورة متجاوبة */
img {
  max-width: 100%;
  display: block;
}

Normalize.css مقابل إعادة التعيين

النهج الإيجابيات السلبيات
Normalize.css يحافظ على الافتراضات المفيدة، يُصلح فقط عدم الاتساق أكثر تعقيداً
إعادة تعيين كاملة بداية نظفة، تحكم كامل يجب إعادة تعريف كل شيء

توصية: استخدم Normalize.css لمعظم المشاريع.

CSS الذري

كل فئة تفعل شيئاً واحداً — كتلبناء:

مثال

HTML
<style>
.text-center { text-align: center; }
.text-red { color: red; }
.mt-10 { margin-top: 10px; }
.p-20 { padding: 20px; }
.bg-light { background-color: #f5f5f5; }
.border { border: 1px solid #ddd; }
.rounded { border-radius: 4px; }
</style>
<div class="p-20 bg-light border rounded">
  <h3 class="text-center">عنوان البطاقة</h3>
  <p class="mt-10">محتوى البطاقة</p>
</div>
▶ جرّب الكود

الفوائد

  1. دقيق: كل فئة تفعل شيئاً واحداً، تركيبات مرنة
  2. قابل لإعادة استخدام عالي: .flex واحد يعمل في أي مكان
  3. CSS أصغر: لا تكرار لتصريحات الخصائص
  4. تغييرات آمنة: تعديل فئة واحدة لن يكسر عناصر غير ذات صلة

❓ أسئلة شائعة

س Normalize.css أم إعادة تعيين CSS؟
ج نوصي بـ Normalize.css — يحافظ على الافتراضات المفيدة (مثل حجم خط h1) بينما يُصلح فقط عدم اتساق المتصفح. إعادة التعيين التقليدي تُصفّر كل شيء، مما يعني أنك يجب إعادة تعريف كل عنصر، مما يزيد العمل.
س هل `* { box-sizing: border-box }` يؤثر على الأداء؟
ج بالكاد لا. تكاليف أداء المُحدد الشامل مهملة في المتصفحات الحديثة، وفوائد `box-sizing: border-box` تفوق بكثير أي خسارة نظرية في الأداء. استخدمه بثقة.
س متى أستخدم الفئات الذرية؟
ج الأفضل للمشاريع الكبيرة أو أنظمة تصميم موحدة. المشاريع الصغيرة يمكنها استخدام فئات عادية. أُطر مثل Tailwind CSS لديها منحنيات تعلم أعلى — ليس كل مشروع يحتاجها.

📖 ملخص

📝 تمارين

  1. أنشئ ملف reset.css بـ: إعادة تعيين شاملة margin/padding/box-sizing، font/color أساسية لـ body، إعادة تعيين نمط روابط، صور متجاوبة.
  2. أضف 10 فئات ذرية شائعة على الأقل إلى reset.css (flex، مسافات، محاذاة نص، إلخ).
  3. أنشئ صفحة HTML تستخدم فقط فئات ذرية من reset.css لتخطيط بطاقة بسيطة (عنوان، نص، صورة).
100%