القوائم المتداخلة وتنسيق القوائم
ضمّن القوائم داخل قوائم أخرى وتحكّم في مظهرها
القوائم المتداخلة وتنسيق القوائم درس مجاني في HTML Academy على CoddyKit. هذا هو الدرس 4 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في HTML Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة HTML Academy 4 دروس في المجموع.
تداخل القوائم
يمكن تداخل القوائم داخل عناصر <li>:
<ul>
<li>Frontend
<ul>
<li>HTML</li>
<li>CSS</li>
<li>JavaScript</li>
</ul>
</li>
<li>Backend
<ul>
<li>Node.js</li>
<li>Python</li>
</ul>
</li>
</ul>التداخل الصحيح
يجب أن تكون القائمة المتداخلة داخل عنصر <li>، وليس ابنًا مباشرًا لـ <ul> أو <ol>:
<!-- WRONG: nested ul as direct child of outer ul -->
<ul>
<ul> <!-- INVALID -->
<li>Item</li>
</ul>
</ul>
<!-- CORRECT: nested ul inside li -->
<ul>
<li>
Parent item
<ul>
<li>Child item</li>
</ul>
</li>
</ul>أنماط التعداد النقطي متعددة المستويات
تطبّق المتصفحات نقاط تعداد افتراضية مختلفة في كل مستوى من مستويات التداخل:
<ul>
<li>Level 1 — disc (filled circle)</li> <!-- • -->
<ul>
<li>Level 2 — circle (open circle)</li> <!-- ○ -->
<ul>
<li>Level 3 — square</li> <!-- ▪ -->
</ul>
</ul>
</ul>إعادة الضبط باستخدام CSS
تجاوز أنماط القوائم المتداخلة باستخدام CSS:
ul, ol {
list-style: none;
padding: 0;
margin: 0;
}
/* Style each level explicitly */
.nav > li > ul {
padding-left: 1rem;
list-style: disc;
}القوائم المتداخلة المرقمة
قوائم مرتبة متداخلة بأنواع مختلفة:
<ol type="1">
<li>Introduction
<ol type="a">
<li>Background</li>
<li>Motivation</li>
</ol>
</li>
<li>Methods
<ol type="a">
<li>Data collection</li>
</ol>
</li>
</ol>عدادات CSS للترقيم المخصص
ترقيم هرمي مخصص باستخدام عدادات CSS:
ol {
list-style: none;
counter-reset: level1;
}
ol > li { counter-increment: level1; }
ol > li::before { content: counter(level1) '. '; }
ol ol {
counter-reset: level2;
}
ol ol > li { counter-increment: level2; }
ol ol > li::before {
content: counter(level1) '.' counter(level2) ' ';
}نمط تنقل الأكورديون
يمكن أن تتحول القائمة المتداخلة إلى تنقل جانبي قابل للتوسيع:
<ul class="tree-nav">
<li>
<details>
<summary>Frontend</summary>
<ul>
<li><a href="/html">HTML</a></li>
<li><a href="/css">CSS</a></li>
</ul>
</details>
</li>
<li><a href="/backend">Backend</a></li>
</ul>المسافات في القوائم المتداخلة
تحكّم في الإزاحة المرئية باستخدام CSS:
ul {
padding-left: 1.5rem; /* Controls indent at each level */
margin: 0.5rem 0;
}
/* Tighter nested spacing */
ul ul {
margin: 0.25rem 0;
padding-left: 1.25rem;
}مراجعة اختصار list-style
دمج جميع خصائص نمط القائمة:
/* Shorthand: type position image */
ul {
list-style: square inside;
}
/* Longhand equivalents: */
ul {
list-style-type: square;
list-style-position: inside; /* inside or outside */
list-style-image: none;
}أيقونات مخصصة كعلامات للقوائم
استخدم SVG أو emoji كعلامات للقوائم:
ul.checklist {
list-style: none;
padding: 0;
}
ul.checklist li::before {
content: '✓ ';
color: #22c55e;
font-weight: bold;
}
/* Or with a background SVG */
ul.icon-list li {
padding-left: 2rem;
background: url('/icons/arrow.svg') no-repeat 0 0.2em;
background-size: 1rem 1rem;
list-style: none;
}إمكانية الوصول إلى القوائم المتداخلة
القوائم المتداخلة وقارئات الشاشة:
- تعلن قارئات الشاشة عن مستوى التداخل وعدد العناصر
- التداخل العميق (4 مستويات أو أكثر) مربك — حافظ على مستوى أو مستويين أو ثلاثة كحد أقصى
- إذا استخدمت
list-style: noneفي القائمة الخارجية، فأضفrole="list"
تحقق سريع
أين يجب وضع القائمة المتداخلة داخل قائمة خارجية؟
مراجعة: القوائم المتداخلة
أساسيات القوائم المتداخلة:
- ضع القوائم داخل
<li>— وليس مباشرةً داخل<ul> - الإعداد الافتراضي للمتصفحات هو: disc → circle → square في كل مستوى
- تتيح عدادات CSS إنشاء ترقيم هرمي مخصص
- حافظوا على التداخل ضمن مستويين أو ثلاثة لمراعاة سهولة الاستخدام
- استخدموا
<details>+<summary>للتنقل المتداخل القابل للتوسيع
الأسئلة الشائعة
هل درس «القوائم المتداخلة وتنسيق القوائم» مجاني؟
نعم — نص درس «القوائم المتداخلة وتنسيق القوائم» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة HTML Academy، انتقل إلى CoddyKit PRO. تتضمن دورة HTML Academy 4 دروس في المجموع.
ماذا ستتعلم في «القوائم المتداخلة وتنسيق القوائم»؟
ضمّن القوائم داخل قوائم أخرى وتحكّم في مظهرها تتمرن على HTML Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ HTML Academy؟
لا تُشترط خبرة سابقة. HTML Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 4 من أصل 4.
كم من الوقت يستغرق درس «القوائم المتداخلة وتنسيق القوائم»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس HTML Academy هذا؟
نعم. كل درس في HTML Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- القوائم غير المرتبة ul وli
- القوائم المرتبة ol وstart وreversed وtype
- قوائم الوصف dl وdt وdd
- القوائم المتداخلة وتنسيق القوائم