คุณจะเลือกคนแรกและคนสุดท้ายTD
ในแถวได้อย่างไร?
tr > td[0],
tr > td[-1] {
/* styles */
}
คุณจะเลือกคนแรกและคนสุดท้ายTD
ในแถวได้อย่างไร?
tr > td[0],
tr > td[-1] {
/* styles */
}
คำตอบ:
คุณสามารถใช้:first-child
และ:last-child
ตัวเลือกหลอก:
tr td:first-child,
tr td:last-child {
/* styles */
}
สิ่งนี้จะทำงานในเบราว์เซอร์หลัก ๆ ทั้งหมด แต่ IE7 มีปัญหาบางอย่างเมื่อมีการเพิ่มองค์ประกอบแบบไดนามิก (และจะไม่ทำงานใน IE6)
tr > td
และtr td
?
>
เลือกเด็กตรงเท่านั้น หากไม่มีมันลูกหลานทั้งหมด (เช่นลูกของเด็ก) จะถูกเลือก ในการเลือกลูกคนที่ 2 หรือคนที่ 3 ให้ดูที่nth-child
ตัวเลือกหลอก
+
นี้ สิ่งที่ชอบ tr td + td + .... +td
แต่ถ้าฉันไม่ทราบว่าหลาย td ฉันมี?
คุณสามารถใช้ตัวอย่างต่อไปนี้:
tr td:first-child {text-decoration: underline;}
tr td:last-child {color: red;}
ใช้คลาส pseudo ต่อไปนี้:
: ลูกคนแรก หมายถึง "เลือกองค์ประกอบนี้ถ้าลูกคนแรกของผู้ปกครอง"
: last-childหมายถึง "เลือกองค์ประกอบนี้ถ้าเป็นลูกสุดท้ายของ parent"
โหนดองค์ประกอบ (แท็ก HTML) เท่านั้นที่ได้รับผลกระทบ pseudo-classes เหล่านี้จะไม่สนใจโหนดข้อความ
คุณสามารถใช้: ลูกคนแรกและ: ลูกคนโต pseudo-selectors
:
tr td:first-child{
color:red;
}
tr td:last-child {
color:green
}
หรือคุณสามารถใช้วิธีอื่นเช่น
// To first child
tr td:nth-child(1){
color:red;
}
// To last child
tr td:nth-last-child(1){
color:green;
}
ทั้งสองวิธีทำงานได้อย่างสมบูรณ์แบบ
หากคุณใช้ sass (scss) คุณสามารถใช้ตัวอย่างต่อไปนี้:
tr > td{
/* styles for all td*/
&:first-child{
/* styles for first */
}
&:last-child{
/* styles for last*/
}
}
หากแถวนั้นมีth
แท็กนำหน้า (หรือต่อท้าย) บางส่วนก่อนหน้าtd
คุณควรใช้:first-of-type
และ:last-of-type
ตัวเลือก มิฉะนั้นtd
จะไม่ถูกเลือกก่อนหากไม่ใช่องค์ประกอบแรกของแถว
สิ่งนี้ให้:
td:first-of-type, td:last-of-type {
/* styles */
}