: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 ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- :hover :focus :active และ :visited
- :nth-child และ :nth-of-type
- :not() :is() และ :where()
- :checked :disabled และคลาสเสมือนของสถานะแบบฟอร์ม