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

:nth-child และ :nth-of-type

เลือกองค์ประกอบตามตำแหน่งภายในองค์ประกอบแม่โดยใช้สูตร nth และตัวเลือกตามชนิด

:nth-child และ :nth-of-type เป็นบทเรียน CSS Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน CSS Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส CSS Academy มีบทเรียนทั้งหมด 4 บทเรียน

คลาสเทียมเชิงโครงสร้างคืออะไร

คลาสเทียมเชิงโครงสร้างใช้เลือกองค์ประกอบตามตำแหน่งภายในองค์ประกอบแม่ ช่วยลดความจำเป็นในการเพิ่มคลาสหรือ JavaScript เพื่อเลือกองค์ประกอบลูกที่ต้องการ

:first-child และ :last-child

เลือกองค์ประกอบลูกตัวแรกหรือตัวสุดท้ายขององค์ประกอบแม่:

<ul><li>First item (no top border)</li><li>Middle item</li><li>Last item (no bottom margin)</li></ul>

พื้นฐาน :nth-child()

:nth-child(n) เลือกองค์ประกอบตามตำแหน่ง (เริ่มนับจาก 1) ในบรรดาองค์ประกอบพี่น้องทุกชนิด

<ul><li>Item one</li><li>Item two</li><li>Item three</li></ul>

:nth-child() กับคีย์เวิร์ด

ใช้คีย์เวิร์ด odd หรือ even เพื่อจัดรูปแบบแถวสลับกัน:

<table><tr><td>Row 1</td></tr><tr><td>Row 2</td></tr><tr><td>Row 3</td></tr><tr><td>Row 4</td></tr></table>

:nth-child() กับสูตร

ใช้สูตร An+B โดย A คือขั้น และ B คือค่าชดเชย n เริ่มต้นที่ 0 และเพิ่มขึ้นทีละหนึ่ง

  • 3n — ทุกลำดับที่สาม (3, 6, 9...)
  • 3n+1 — ตัวแรกของทุกสามรายการ (1, 4, 7...)
  • -n+3 — เฉพาะสามรายการแรก
<ul><li>1</li><li>2</li><li>3</li><li>4</li><li>5</li><li>6</li></ul>

:nth-of-type()

:nth-of-type() จะนับเฉพาะองค์ประกอบพี่น้องที่มีชนิดองค์ประกอบเดียวกันและไม่สนใจองค์ประกอบชนิดอื่น เรื่องนี้สำคัญเมื่อมีองค์ประกอบหลายชนิดปะปนกัน

<h2>Heading</h2><p>First paragraph</p><p>Second paragraph (blue)</p><p>Third paragraph</p>

:first-of-type และ :last-of-type

เลือกองค์ประกอบแรกหรือสุดท้ายของแท็กชนิดที่ระบุในบรรดาองค์ประกอบพี่น้อง:

<p>Lead paragraph (larger)</p><p>Regular paragraph</p>
<img src="data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='100' height='60'><rect width='100' height='60' fill='%231e90ff'/></svg>" alt="one" />
<img src="data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='100' height='60'><rect width='100' height='60' fill='%23ff6347'/></svg>" alt="two" />

:nth-child เทียบกับ :nth-of-type

ความแตกต่างสำคัญ:

  • p:nth-child(2) — เลือกลูกลำดับที่สอง IF ลูกนั้นเป็น <p>
  • p:nth-of-type(2) — เลือก <p> ลำดับที่สองโดยไม่คำนึงถึงองค์ประกอบอื่น

:only-child และ :only-of-type

:only-child เลือกองค์ประกอบที่เป็นลูกเพียงตัวเดียวขององค์ประกอบแม่ :only-of-type เลือกองค์ประกอบที่เป็นองค์ประกอบชนิดนั้นเพียงรายการเดียวในองค์ประกอบแม่

<div><p>I'm the only child in this div.</p></div>

:nth-child กับตัวเลือก of S (สมัยใหม่)

CSS สมัยใหม่อนุญาตให้กรององค์ประกอบที่จะนำมานับด้วยสูตร nth โดยใช้ :nth-child(An+B of selector):

<ul><li class="featured">Featured 1</li><li>Regular</li><li class="featured">Featured 2 (gold)</li><li class="featured">Featured 3</li></ul>

การใช้งานจริง: ระยะห่างกริดในแถวสุดท้าย

ลบระยะขอบด้านล่างขององค์ประกอบสุดท้ายที่มองเห็นได้:

<div class="grid"><div class="grid-item">1</div><div class="grid-item">2</div><div class="grid-item">3</div><div class="grid-item">4</div><div class="grid-item">5</div><div class="grid-item">6</div></div>

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

ตัวเลือกใดเลือกสมาชิกของรายการทุกลำดับที่สาม โดยเริ่มจากรายการแรก?

สรุป

:nth-child() นับองค์ประกอบพี่น้องทั้งหมดตามตำแหน่ง ส่วน :nth-of-type() นับเฉพาะองค์ประกอบพี่น้องที่มีแท็กชนิดเดียวกัน ใช้ odd/even สำหรับตารางแถบสลับ สูตร An+B ช่วยสร้างรูปแบบที่ซับซ้อนได้ เช่น "ทุกลำดับที่สาม" หรือ "ห้ารายการแรก" โดยไม่ต้องเพิ่มคลาส

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

บทเรียน “:nth-child และ :nth-of-type” ฟรีหรือไม่

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

คุณจะเรียนรู้อะไรในบทเรียน “:nth-child และ :nth-of-type”

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

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

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

บทเรียน “:nth-child และ :nth-of-type” ใช้เวลานานแค่ไหน

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

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

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

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

  1. :hover :focus :active และ :visited
  2. :nth-child และ :nth-of-type
  3. :not() :is() และ :where()
  4. :checked :disabled และคลาสเสมือนของสถานะแบบฟอร์ม
← กลับไปที่ CSS Academy