0Pricing
HTML Academy · บทเรียน

รายการซ้อนกันและการจัดสไตล์รายการ

ซ้อนรายการไว้ภายในรายการอื่นและควบคุมรูปลักษณ์ของรายการ

รายการซ้อนกันและการจัดสไตล์รายการ เป็นบทเรียน HTML Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 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>

การซ้อนที่ถูกต้อง

รายการที่ซ้อนต้องอยู่ inside องค์ประกอบ <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 หรืออีโมจิเป็นเครื่องหมายรายการ:

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 ระดับขึ้นไป) ทำให้สับสน — จำกัดไว้ไม่เกิน 2-3 ระดับ
  • หากใช้ list-style: none กับรายการด้านนอก ให้เพิ่ม role="list"

ตรวจสอบอย่างรวดเร็ว

รายการที่ซ้อนต้องวางไว้ที่ใด inside รายการด้านนอก

ทบทวน: รายการซ้อนกัน

สิ่งสำคัญของรายการซ้อนกัน:

  • ซ้อนรายการไว้ภายใน <li> — ห้ามวางโดยตรงภายใน <ul>
  • เบราว์เซอร์ใช้ค่าเริ่มต้นเป็นจุดทึบ → วงกลม → สี่เหลี่ยมตามแต่ละระดับ
  • ตัวนับ CSS ช่วยให้กำหนดการลำดับเลขแบบลำดับชั้นได้เอง
  • ควรจำกัดการซ้อนให้อยู่ที่ 2–3 ระดับเพื่อให้ใช้งานได้สะดวก
  • ใช้ <details>+<summary> สำหรับการนำทางแบบซ้อนที่ขยายได้

คำถามที่พบบ่อย

บทเรียน “รายการซ้อนกันและการจัดสไตล์รายการ” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “รายการซ้อนกันและการจัดสไตล์รายการ” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส HTML Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส HTML Academy มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “รายการซ้อนกันและการจัดสไตล์รายการ”

ซ้อนรายการไว้ภายในรายการอื่นและควบคุมรูปลักษณ์ของรายการ คุณปฏิบัติ HTML Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน HTML Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน HTML Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน

บทเรียน “รายการซ้อนกันและการจัดสไตล์รายการ” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน HTML Academy นี้ได้ไหม

ได้ บทเรียน HTML Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. รายการไม่เรียงลำดับ ul และ li
  2. รายการเรียงลำดับ ol, start, reversed และ type
  3. รายการคำอธิบาย dl, dt และ dd
  4. รายการซ้อนกันและการจัดสไตล์รายการ
← กลับไปที่ HTML Academy