مقارنة CSS: طبقات vs BEM vs Utility Classes

يونيو 26, 2025

مقارنة CSS: Cascade Layers و BEM و Utility Classes

المقالة بتتكلّم عن ٣ طرق لإدارة الـ specificity في CSS – BEM والـ utility‑first classes وكمان دعم @layer الأصلي.

BEM: تحديد واضح

بـ BEM بنسّيّم الكلاسات بطريقة بتخلى specificity ثابتة:

.header__nav-item--active { color: blue; }

Utility Classes: نتجنب التعقيد

الكلاسات بتبقى atomic، كل واحدة specificity واحدة:

<button class="bg-red-300 hover:bg-red-500 text-white py-2 px-4 rounded">
  زرار
</button>

Cascade Layers: تحديد محترف

الـ @layer بيخلّي ترتيب الطبقات هو المسيطر، مش قوة السيلكتور:

@layer components {
  .nav-link.active { color: blue; }
}

ده بيحميك من مشاكل التعارض بدون ما تستخدم !important.

ليه ده مهم؟

  • لو مفيش تنظيم: inline > ID > class > tag، وده ممكن يخرب ستايلات كبيرة.
  • الـ utility‑first بتخلي كل الكلاسات عندها نفس المستوى.
  • الطبقات بتسمحلك تتحكم بنفسك وتتفادى مشاكل التعارض بسهولة.

المدونة

شرح مفصل لكل هوك في React

يوليو 01, 2025

🎣 شرح React Hooks وبأمثلة عملية 🧠 useState بيعمل إيه: بيضيف حالة داخلية (state) جوا أي مكون شغال بوظيفة. مثال عملي: import React, { useSta...

نظام طوابير Laravel واستخدام Supervisor في الإنتاج

يوليو 01, 2025

🚀 نظام Queue &amp; Jobs في Laravel هناخدك خطوة خطوة من أول إنشاء الجداول لحد ما تشغّل الطوابير في Production عن طريق Supervisor. الخطوة 1: إنشاء...

لارافيل 12.16.0 - مميزات جديدة للمطورين

يونيو 03, 2025

لارافيل 12.16.0 - مميزات جديدة للمطورين 1. قاعدات تحقق جديدة: in_array_keys دلوقتي تقدر تتحقق إن الأراي فيه على الأقل مفتاح واحد من اللي انت محددهم...

الدليل الكامل لتحديثات ECMAScript 2025 للمطورين

يوليو 06, 2025

📘 شرح تفصيلي لتحديثات ECMAScript 2025 جميع مميزات ECMAScript 2025، مع أمثلة عملية وفهم ليه الميزة دي مهمة لأي مبرمج واجهة أمامية. ١. مجموعات مسما...

مكونات واجهة المستخدم والتفاعل الأساسية في React Native

يوليو 01, 2025

مكونات واجهة المستخدم والتفاعل الأساسية في React Native React Native بتوفرلك مجموعة قوية من المكونات الجاهزة اللي تقدر تستخدمها لبناء تطبيقات موباي...

حلل مشروع Laravel بـ Introspect

يوليو 01, 2025

حلل كود Laravel باستخدام Laravel Introspect لو بتعمل Refactor كبير أو بتبني أدوات Dev‪، Laravel Introspect بيسمحلك تستعلم عن الكود: فيوز، مودلز، رو...