เลือกองค์ประกอบทั้งหมดภายในคลาสผู้ปกครอง

ฉันมีสองโต๊ะ นี่แค่โต๊ะที่ 2 ฉันต้องการจัดสไตล์ตารางที่ 2 โดยไม่กระทบกับตารางแรก ฉันไม่ต้องการมีรหัสหรือสร้างคลาสสำหรับแต่ละแท็ก Visual Studio ดูเหมือนจะเข้าใจสิ่งที่ฉันบอกให้ทำ แต่มันไม่ได้แปลลงบนหน้าเว็บ ฉันพลาดอะไรไป?

<style>
    .t2 > tr th td{
                   border: 1px solid white;
               }
    </style>

    <table class="t2">
            <tr>
                <th>Column 1</th>

            </tr>
            <tr>
                <td>Data</td>
                <td>Data</td>

            </tr>


        </table>

person Tugboat    schedule 27.05.2020    source แหล่งที่มา


คำตอบ (3)


.t2 > tbody เลือก <tbody> องค์ประกอบโดยที่พาเรนต์เป็นองค์ประกอบคลาส .t2

tbody > tr เลือกองค์ประกอบ <tr> ทั้งหมดโดยที่องค์ประกอบหลักคือองค์ประกอบ <tbody>

tr > th เลือกองค์ประกอบ <th> ทั้งหมดโดยที่องค์ประกอบหลักคือองค์ประกอบ <tr>

tr > td เลือกองค์ประกอบ <td> ทั้งหมดโดยที่องค์ประกอบหลักคือองค์ประกอบ <tr>

แม้ว่าคุณจะไม่ได้เข้ารหัส <tbody> อย่างชัดเจน แต่เบราว์เซอร์จะเพิ่ม <tbody> เมื่อแสดง

ป้อนคำอธิบายรูปภาพที่นี่

For more info on CSS selectors, please refer to here.

<style>
  body {
    background-color: skyblue;
  }
  
  .t2 > tbody > tr > th,
  .t2 > tbody > tr > td {
    border: 1px solid white;
  }
</style>

<table class="t2">
  <tr>
    <th>Column 1</th>

  </tr>
  <tr>
    <td>Data</td>
    <td>Data</td>

  </tr>


</table>

person yinsweet    schedule 27.05.2020
comment
ว้าว นี่เป็นวิธีที่น่าสนใจจริงๆ ‹tbody› มันตลกดีที่คุณแชร์ลิงก์ไปที่ W3school เพราะก่อนที่ฉันจะถามคำถาม ฉันก็อยู่ในหน้านั้นที่พยายามจะเข้าใจเรื่องนี้ นั่นทำให้ฉันมีความเข้าใจที่จำกัดในการอ้างอิงองค์ประกอบหลักและลูกในรูปแบบต่างๆ ขอบคุณ yinsweet โค้ดใช้งานได้อย่างสวยงาม และฉันตั้งตารอที่จะลองสิ่งใหม่ ๆ ด้วยความรู้ใหม่นี้! - person Tugboat; 27.05.2020

การใช้ตัวเลือกเชิงสัมพันธ์ (ตัวเลือกที่ขึ้นอยู่กับการเรียงลำดับองค์ประกอบบนเพจ) ไม่แนะนำอย่างยิ่ง เนื่องจากตัวเลือกเหล่านี้เสียหายได้ง่ายจากการเปลี่ยนแปลงเค้าโครงหรือการเพิ่มองค์ประกอบของหน้าใหม่ คุณต้องการเพิ่ม ID เฉพาะหรือคลาสที่กำหนดเอง เพื่อให้การเปลี่ยนแปลงในอนาคตไม่ทำให้งานก่อนหน้าของคุณเสียหาย

person Milo Todt    schedule 27.05.2020
comment
ตัวเลือกเชิงสัมพันธ์มีพื้นฐานมาจากคลาสที่ไม่ซ้ำกับตารางนั้น ฉันแค่อยากใช้โค้ดอย่างมีประสิทธิภาพ ดังนั้นฉันจึงไม่ได้สร้างรหัสสำหรับแต่ละองค์ประกอบ ขอบคุณสำหรับการตอบสนองและเสนอภูมิปัญญาของคุณไมโล! ฉันขอขอบคุณข้อเสนอแนะ - person Tugboat; 27.05.2020

เท่าที่ฉันทราบ tr ไม่ได้ใช้สไตล์เส้นขอบโดยไม่ใช้การยุบเส้นขอบ ดูที่นี่: เหตุใด TR จึงไม่มีสไตล์

นอกจากนี้ ตัวเลือก > ใน CSS จะใช้กับลูก ทันที ของสไตล์ที่ระบุเท่านั้น เนื่องจาก td และ th เป็นลูกขององค์ประกอบ tr จึงไม่ถูกหยิบขึ้นมา คุณอาจต้องการใช้:

.t2 td, th{
  border: 1px solid white;
}

แทน ซึ่งควรใช้สไตล์กับลูกที่ซ้อนกันของ .t2 เช่นกัน

person Jack Parkinson    schedule 27.05.2020
comment
ขอขอบคุณที่แบ่งปันประสบการณ์ของคุณและเพิ่มลิงก์เพื่อให้ฉันสามารถให้ความรู้เกี่ยวกับเรื่องนี้ต่อไปได้! เห็นได้ชัดว่าฉันใหม่และซาบซึ้งมากสำหรับความช่วยเหลือ - person Tugboat; 27.05.2020