อะไรคือจุดที่ใช้ไวยากรณ์นี้
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>