sibling-count()
العدد الكلي للإخوة sibling-count()
sibling-count() تُرجع العدد الكلي لإخوة العنصر (بما فيه هو نفسه) — تُستخدم غالبًا مع sibling-index() لحسابات نسبية مثل عكس اتجاه حركة متدرّجة.
sibling-count() تُرجع عددًا صحيحًا يمثّل عدد أبناء الأب الواحد مجتمعين — أي كل إخوة العنصر بما فيه هو نفسه. بمفردها فائدتها محدودة، لكن دمجها مع sibling-index() داخل نفس معادلة calc() يفتح حسابات نسبية: مثل عكس اتجاه حركة متدرّجة فيبدأ آخر عنصر بالقائمة أولًا، أو توزيع زاوية دوران متساوية على عناصر مرتّبة دائريًا حسب موقع كل عنصر من العدد الكلي.
مثل sibling-index()، القيمة حيّة وتُعاد حسابها تلقائيًا عند إضافة أو حذف عناصر — لا حاجة لتحديث أي رقم يدويًا.
الصياغة
li {
animation-delay: calc((sibling-count() - sibling-index()) * 80ms);
}⚡ جرّب بنفسك
عدّل الكود واضغط «تحديث» لترى النتيجة فورًا — التجربة أفضل معلّم.
<style>
.demo-list2 { list-style: none; padding: 0; }
.demo-list2 li {
background: #dbeafe; margin: 4px 0; padding: 8px 12px; border-radius: 6px;
animation: fade-up 0.4s ease both;
animation-delay: calc((4 - sibling-index()) * 120ms); /* محاكاة: قائمة من 4 عناصر */
}
@keyframes fade-up { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: translateY(0); } }
</style>
<ul class="demo-list2">
<li>يظهر آخرًا</li>
<li>الثالث</li>
<li>الثاني</li>
<li>يظهر أولًا</li>
</ul>أهم القيم
| القيمة | الوظيفة |
|---|---|
| sibling-count() | تُرجع العدد الكلي للإخوة بما فيهم العنصر نفسه |
| بلا وسائط | لا تأخذ أي معاملات — الأقواس تبقى فارغة دائمًا |
💡 نصائح عملية
- دمجها مع sibling-index() هو استخدامها الأشيع: calc((sibling-count() - sibling-index()) * قيمة) لعكس الاتجاه
- مفيدة أيضًا لتوزيع زوايا متساوية على عناصر دائرية حسب موقع كل عنصر من العدد الكلي
⚠️ أخطاء شائعة
- استخدامها وحدها متوقّعًا ترتيب العنصر → هي تعطي العدد الكلي فقط؛ الترتيب يأتي من sibling-index()
- استخدامها بلا بديل احتياطي في مشروع يستهدف Firefox → نفس قيد sibling-index() تمامًا؛ القيمة غير المدعومة تُهمَل بصمت
خصائص ذات صلة
🎓 تريد فهم الصورة الكاملة خطوة بخطوة؟ ابدأ من مسار CSS الكامل بالعربي.
📚 للتعمق التقني الكامل بالإنجليزية: MDN Web Docs