หมายเหตุ: วิธีนี้จะคืนค่าชุดของความยาวที่แน่นอนไม่ใช่องค์ประกอบหลักตามที่คุณถาม หวังว่ามันจะมีประโยชน์
Andre Luis มาพร้อมกับวิธีการ: http://lea.verou.me/2011/01/styling-children-based-on-their-number-with-css3/แต่น่าเสียดายที่มันใช้ได้ใน IE9 ขึ้นไปเท่านั้น
โดยพื้นฐานแล้วคุณจะรวม: nth-child () กับคลาสหลอกอื่น ๆ ที่จัดการกับตำแหน่งขององค์ประกอบ วิธีการนี้จะช่วยให้คุณสามารถระบุองค์ประกอบจากชุดขององค์ประกอบที่มีความยาวที่เฉพาะเจาะจง
ตัวอย่างเช่น:nth-child(1):nth-last-child(3)
ตรงกับองค์ประกอบแรกในชุดในขณะที่ยังเป็นองค์ประกอบที่ 3 จากจุดสิ้นสุดของชุด สิ่งนี้ทำสองสิ่ง: รับประกันว่าชุดจะมีสามองค์ประกอบเท่านั้นและเรามีหนึ่งในสามรายการแรก :nth-child(2):nth-last-child(2)
เพื่อระบุองค์ประกอบที่สองของชุดองค์ประกอบที่สามที่เราต้องการใช้
ตัวอย่างที่ 1 - เลือกองค์ประกอบรายการทั้งหมดถ้าชุดมีองค์ประกอบสามอย่าง:
li:nth-child(1):nth-last-child(3),
li:nth-child(2):nth-last-child(2),
li:nth-child(3):nth-last-child(1) {
width: 33.3333%;
}
ตัวอย่างที่ 1 ทางเลือกจาก Lea Verou:
li:first-child:nth-last-child(3),
li:first-child:nth-last-child(3) ~ li {
width: 33.3333%;
}
ตัวอย่างที่ 2 - กำหนดเป้าหมายองค์ประกอบสุดท้ายของชุดด้วยองค์ประกอบรายการสามรายการ:
li:nth-child(3):last-child {
/* I'm the last of three */
}
ตัวอย่างที่ 2 ทางเลือก:
li:nth-child(3):nth-last-child(1) {
/* I'm the last of three */
}
ตัวอย่าง 3 - องค์ประกอบที่สองเป้าหมายของชุดที่มีองค์ประกอบรายการสี่:
li:nth-child(2):nth-last-child(3) {
/* I'm the second of four */
}