حاسبة خصوصية CSS
حساب درجات خصوصية محددات CSS ومقارنتها
المدخلات والخيارات
إعدادات جاهزة وأمثلة سريعة
يعمل داخل متصفحك. تبقى مدخلاتك على هذا الجهاز.
النتائج
أدخل القيم لعرض النتيجة.
عن حاسبة خصوصية CSS المجانية
تُعد حاسبة خصوصية CSS أداة مجانية تساعد مطوري الويب على فهم خصوصية محددات CSS وحسابها وتصحيح أخطائها. الخصوصية هي الخوارزمية التي تستخدمها المتصفحات لتحديد أي قاعدة CSS لها الأولوية عندما تستهدف عدة قواعد العنصر نفسه. وتُعبَّر عنها بقيمة من ثلاثة أجزاء (a, b, c)، يمثل كل جزء منها فئة مختلفة من وزن المحدد.
يُعد فهم خصوصية CSS من أهم المهارات لمطوري الواجهات الأمامية. وعندما لا تُطبَّق الأنماط كما هو متوقع، تكون تعارضات الخصوصية في الغالب هي السبب الجذري. تحلل هذه الحاسبة أي محدد CSS فورًا إلى مكونات خصوصيته، وتوضح لك بالضبط عدد محددات المعرّف (a)، ومحددات الفئة والسمة والفئة الزائفة (b)، ومحددات العنصر والعنصر الزائف (c) التي تدخل في النتيجة النهائية.
تتضمن الأداة وضع مقارنة فعّالًا يتيح لك وضع محددين جنبًا إلى جنب لمعرفة أيهما يفوز في صراع الخصوصية. وهذا مفيد جدًا عند تصحيح تعارضات CSS أو إعادة هيكلة أوراق الأنماط أو تعلم آلية التتالي. وتجعل المخططات الشريطية المرئية والتفصيلات الملونة الخصوصية بديهية وسهلة الفهم، حتى للمطورين الجدد في CSS.
الميزات الرئيسية
- حساب فوري للخصوصية لأي محدد CSS صالح
- مخطط شريطي مرئي يوضح الوزن النسبي للمعرّفات والفئات والعناصر
- تفصيل ملون لكل مكوّن من مكونات المحدد (المعرّفات بالأحمر، والفئات بالأصفر، والعناصر بالأزرق)
- وضع مقارنة لوضع محددين في مواجهة بعضهما مع مؤشرات للفائز والخاسر
- دعم المحددات المعقدة بما فيها الفئات الزائفة والعناصر الزائفة ومحددات السمات
- معالجة صحيحة لقواعد خصوصية الفئات الزائفة :not() و:is() و:where()
- 14 مثالًا جاهزًا تغطي أنماط المحددات الشائعة للتعلم السريع
- نسخ قيم الخصوصية إلى الحافظة بنقرة واحدة
- بطاقة مرجعية سريعة مدمجة لقواعد الخصوصية
- دعم الوضع الداكن للاستخدام المريح في أي بيئة
كيفية استخدام حاسبة خصوصية CSS
- أدخل محدد CSS: اكتب أي محدد CSS أو الصقه في حقل الإدخال. تُحسب الخصوصية فورًا أثناء الكتابة.
- راجع التفصيل: افحص قيمة الخصوصية (a, b, c) والمخطط الشريطي المرئي والتفصيل الملون للمكونات لفهم كيفية تحديد النتيجة.
- جرّب وضع المقارنة: انتقل إلى وضع المقارنة لإدخال محددين ومعرفة أيهما أعلى خصوصية، مع مؤشرات واضحة للفائز والخاسر والتعادل.
- استخدم الأمثلة الجاهزة: انقر على أي من المحددات الجاهزة الأربعة عشر لترى خصوصيتها فورًا. وفي وضع المقارنة، تملأ الأمثلة الجاهزة أول حقل محدد فارغ.
- انسخ النتيجة: انقر على زر النسخ بجوار قيمة الخصوصية لنسخها إلى الحافظة واستخدامها في التوثيق أو تعليقات الشيفرة.
حالات الاستخدام
- تصحيح تعارضات CSS: حدد سبب تجاوز قاعدة CSS لأخرى بمقارنة درجات خصوصيتهما والتعرف على المحدد الفائز.
- إعادة هيكلة أوراق الأنماط: حلل خصوصية المحددات في شيفرتك لتقليل المحددات المفرطة في الخصوصية وتحسين قابلية صيانة CSS.
- تعلم تتالي CSS: استخدم التفصيلات المرئية والأمثلة الجاهزة لبناء فهم بديهي لكيفية عمل الخصوصية عمليًا.
- مراجعة الشيفرة: تحقق بسرعة من خصوصية المحددات أثناء مراجعات الشيفرة لتجنب حروب الخصوصية وضمان أساليب تنسيق متسقة.
- التدريس وورش العمل: استخدم وضع المقارنة والمخططات المرئية كوسيلة تعليمية في ورش CSS والمعسكرات التدريبية والدورات عبر الإنترنت.
- تخطيط بنية CSS: خطط لاستراتيجيات المحددات (BEM وOOCSS وutility-first) بفهم تبعات الخصوصية قبل كتابة الشيفرة.
- تخصيص الأطر: احسب الخصوصية عند تجاوز أنماط Bootstrap أو Tailwind أو أطر أخرى لضمان أن تكون الأولوية لقواعدك المخصصة.
الأسئلة الشائعة
هل هذه الأداة مجانية؟
نعم، حاسبة خصوصية CSS مجانية تمامًا. لا توجد حدود للاستخدام ولا حاجة إلى حساب ولا باقات مدفوعة. احسب وقارن ما تشاء من المحددات.
هل بياناتي آمنة؟
بالتأكيد. تتم جميع حسابات الخصوصية بالكامل في متصفحك. لا يُرسَل أي محدد CSS أو بيانات إلى أي خادم. وتعمل الأداة دون اتصال بالإنترنت بعد تحميلها.
كيف تعمل خصوصية CSS؟
تُحسب خصوصية CSS كقيمة من ثلاثة أجزاء (a, b, c). يعدّ العمود «a» محددات المعرّف (#id)، ويعدّ العمود «b» محددات الفئة (.class) ومحددات السمات ([attr]) والفئات الزائفة (:hover)، ويعدّ العمود «c» محددات النوع (div, p) والعناصر الزائفة (::before). والقيم الأعلى في الأعمدة الأولى تفوز دائمًا بغض النظر عن الأعمدة التالية.
ماذا عن !important والأنماط المضمنة؟
تتجاوز الأنماط المضمنة كل خصوصية قائمة على المحددات، ويتجاوز !important كل شيء بما في ذلك الأنماط المضمنة. وهذه الحالات تُعالج خارج نظام الخصوصية (a, b, c) ولا تحسبها هذه الأداة لأنها ليست جزءًا من خصوصية المحددات.
كيف يؤثر :not() على الخصوصية؟
الفئة الزائفة :not() نفسها لا تضيف أي خصوصية، لكن وسيطها يُحسب بصورة عادية. فمثلًا يضيف :not(.active) القيمة (0, 1, 0) لأن .active محدد فئة. وبالمثل، يأخذ :is() خصوصية أكثر وسائطه خصوصية، بينما يضيف :where() دائمًا خصوصية صفرية.
ماذا يحدث عندما يتساوى محددان في الخصوصية؟
عندما يكون للمحددين قيمة الخصوصية نفسها، تُطبَّق قاعدة التتالي في CSS: يكون الأسبقية للمحدد الذي يظهر لاحقًا في الشيفرة المصدرية. وسيعرض وضع المقارنة مؤشر «TIE» في هذه الحالة.
نصائح وأفضل الممارسات
- أبقِ الخصوصية منخفضة: فضّل محددات الفئة على محددات المعرّف للحفاظ على خصوصية يسهل التحكم بها وتسهيل تجاوز الأنماط عند الحاجة.
- تجنب !important: استخدام !important علامة على وجود مشكلات في الخصوصية. عالج السبب الجذري بتعديل خصوصية المحددات بدلًا من إضافة تصريحات !important.
- استخدم BEM أو تسمية مشابهة: تساعد منهجيات مثل BEM (Block Element Modifier) في الحفاظ على خصوصية مسطحة بالاعتماد أساسًا على محددات الفئة الواحدة.
- تحقق قبل التداخل: المحددات المتداخلة بعمق مثل #main .content .sidebar .widget p تراكم خصوصية عالية. استخدم هذه الحاسبة للتحقق قبل اعتماد الشيفرة.
- استفد من :where() للخصوصية الصفرية: عند كتابة أنماط الأدوات المساعدة أو إعادة الضبط، ضع المحددات داخل :where() لضمان إمكانية تجاوزها بسهولة.
- قارن أثناء التصحيح: عندما لا يُطبَّق نمط ما، استخدم وضع المقارنة للتحقق مما إذا كان محدد آخر يفوز في صراع الخصوصية.