อะไรคือจุดที่ใช้ไวยากรณ์นี้
div.card > div.name
อะไรคือความแตกต่างระหว่างสิ่งนี้
div.card div.name
อะไรคือจุดที่ใช้ไวยากรณ์นี้
div.card > div.name
อะไรคือความแตกต่างระหว่างสิ่งนี้
div.card div.name
คำตอบ:
A > B จะเลือกเฉพาะ B ที่นำลูกไปยัง A (นั่นคือไม่มีองค์ประกอบอื่น ๆ อยู่ระหว่างนั้น)
A B จะเลือก B ใด ๆ ที่อยู่ภายใน A แม้ว่าจะมีองค์ประกอบอื่น ๆ คั่นอยู่ก็ตาม
>คือตัวเลือกลูก มันระบุเพียงองค์ประกอบทันทีเด็กและลูกหลานไม่ได้ใด ๆ (รวมทั้งลูกหลานของแกรนด์หลาน ฯลฯ ) >ในขณะที่ตัวอย่างที่สองโดยไม่ต้อง
IE 6 และต่ำกว่าไม่รองรับตัวเลือกลูก ตารางการทำงานร่วมกันที่ดีคือที่นี่
div.card > div.nameตรงกัน<div class='card'>....<div class='name'>xxx</div>...</div>
แต่ไม่ตรงกัน<div class='card'>....<div class='foo'> ... <div class='name'>xxx</div>..</div>....</div>
div.card div.name จับคู่ทั้งสองอย่าง
นั่นคือ>ตัวเลือกตรวจสอบให้แน่ใจว่าองค์ประกอบที่เลือกทางด้านขวาขององค์ประกอบ>นั้นเป็นลูกที่ไม่อยู่นิ่งขององค์ประกอบทางด้านซ้าย
ไวยากรณ์โดยไม่มี>การแข่งขันใด ๆ<div class='name'>ที่เป็นลูกหลาน (ไม่เพียง แต่เด็ก) <div class='card'>ของ
พิจารณาสองสถานการณ์div > span { }เทียบกับdiv span { }
ที่นี่ (ช่องว่าง) จะเลือก<span>องค์ประกอบทั้งหมดภายใน<div>องค์ประกอบแม้ว่าจะซ้อนอยู่ภายในองค์ประกอบมากกว่าหนึ่งองค์ประกอบก็ตาม >เลือกเด็กทุกคนของ<div>องค์ประกอบ แต่ถ้าพวกเขาจะไม่ได้อยู่ในองค์ประกอบอื่น
ดูสองตัวอย่าง:
div > span {
color: #FFBA00 ;
}
<body>
<div>
<div>
<span>Hello...</span>
<p><span>Hello!</span></p>
</div>
<span>World!</span>
</div>
</body>
อันนี้เลือกแท็ก<span>Hello...</span>(เพราะอยู่หลังdivแท็กที่ซ้อนกันทันที) <span>World!</span>และจะไม่มองหาแท็ก<span>ด้านใน<p>เนื่องจากไม่ได้อยู่หลังdivแท็กทันที
div span {
color: #0A0 ;
}
<body>
<div>
<div>
<span>Hello...</span>
<p><span>Hello!</span></p>
</div>
<span>World!</span>
</div>
</body>
แท็กนี้จะเลือกแท็กช่วงทั้งหมดแม้ว่าจะซ้อนอยู่ในแท็กอื่นก็ตาม
A> B เลือก B ถ้าเป็นลูกโดยตรงของ A ในขณะที่ AB เลือก B ไม่ว่าจะเป็นลูกโดยตรงของ B หรือไม่ก็ตาม
<p> USING SPACE </p>
<style>
.a .b {
background-color: red;
}
</style>
<span class="a">
a
<br>
<span class="b"> a b</span>
<br>
<span class="c">
<span class="b"> a b c</span>
</span>
</span>
<br><br>
<p> USING GREATER THAN SIGN</p>
<style>
.x > .y {
background-color: red;
}
</style>
<span class="x">
x
<br>
<span class="y"> x y</span>
<br>
<span class="z">
<span class="y"> x y z</span>
</span>
</span>