إعادة تعيين 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>
الفوائد
- دقيق: كل فئة تفعل شيئاً واحداً، تركيبات مرنة
- قابل لإعادة استخدام عالي:
.flexواحد يعمل في أي مكان - CSS أصغر: لا تكرار لتصريحات الخصائص
- تغييرات آمنة: تعديل فئة واحدة لن يكسر عناصر غير ذات صلة
❓ أسئلة شائعة
س Normalize.css أم إعادة تعيين CSS؟
ج نوصي بـ Normalize.css — يحافظ على الافتراضات المفيدة (مثل حجم خط h1) بينما يُصلح فقط عدم اتساق المتصفح. إعادة التعيين التقليدي تُصفّر كل شيء، مما يعني أنك يجب إعادة تعريف كل عنصر، مما يزيد العمل.
س هل `* { box-sizing: border-box }` يؤثر على الأداء؟
ج بالكاد لا. تكاليف أداء المُحدد الشامل مهملة في المتصفحات الحديثة، وفوائد `box-sizing: border-box` تفوق بكثير أي خسارة نظرية في الأداء. استخدمه بثقة.
س متى أستخدم الفئات الذرية؟
ج الأفضل للمشاريع الكبيرة أو أنظمة تصميم موحدة. المشاريع الصغيرة يمكنها استخدام فئات عادية. أُطر مثل Tailwind CSS لديها منحنيات تعلم أعلى — ليس كل مشروع يحتاجها.
📖 ملخص
- إعادة تعيين CSS تُلغي اختلافات أنماط المتصفح الافتراضية — أساس المشروع
- CSS الذري يوفر كتابة بنمط "كتلبناء" — كل فئة تفعل شيئاً واحداً، ادمج حسب الحاجة
- في الممارسة، إعادة تعيين والفئات الذرية عادةً تعيش في ورقة نمط أساسية واحدة كنقطة بداية لجميع الصفحات
📝 تمارين
- أنشئ ملف
reset.cssبـ: إعادة تعيين شاملة margin/padding/box-sizing، font/color أساسية لـ body، إعادة تعيين نمط روابط، صور متجاوبة. - أضف 10 فئات ذرية شائعة على الأقل إلى
reset.css(flex، مسافات، محاذاة نص، إلخ). - أنشئ صفحة HTML تستخدم فقط فئات ذرية من
reset.cssلتخطيط بطاقة بسيطة (عنوان، نص، صورة).



