Apa gunanya menggunakan sintaks ini
div.card > div.name
Apa bedanya ini
div.card div.name
css
css-selectors
Randy Mayer
sumber
sumber
Jawaban:
A > B
hanya akan memilih B yang merupakan anak-anak langsung ke A (yaitu, tidak ada elemen lain di antara).A B
akan memilih B yang ada di dalam A, bahkan jika ada elemen lain di antara mereka.sumber
>
adalah pemilih anak. Ini menetapkan hanya elemen anak langsung dan bukan keturunan apa pun (termasuk cucu, cucu, dll.) Seperti pada contoh kedua tanpa>
.Selector anak tidak didukung oleh IE 6 dan lebih rendah. Tabel kompatibilitas yang bagus ada di sini .
sumber
div.card > div.name
cocok<div class='card'>....<div class='name'>xxx</div>...</div>
tetapi tidak cocok<div class='card'>....<div class='foo'> ... <div class='name'>xxx</div>..</div>....</div>
div.card div.name
cocok dengan keduanya.Yaitu,
>
pemilih memastikan bahwa elemen yang dipilih di sisi kanan>
adalah anak immidiate dari elemen di sisi kirinya.Sintaksis tanpa
>
cocok dengan apa pun<div class='name'>
yang merupakan keturunan (bukan hanya anak) dari<div class='card'>
.sumber
A> B memilih B jika itu adalah anak-anak langsung dari A, sedangkan AB memilih B apakah itu adalah anak-anak langsung dari B atau tidak.
sumber
> vs Space
Pertimbangkan dua skenario
div > span { }
vs.div span { }
Di sini,
<space>
memilih semua semua<span>
elemen<div>
elemen bahkan jika mereka berada di dalam elemen lain. >> Memilih semua anak<div>
elemen tetapi jika mereka berada di dalam elemen lain.> (Lebih besar dari):
Yang ini hanya memilih
<span>World!</span>
dan tidak akan mencari tag<span>
di dalamnya<p>
.Ruang
Yang ini memilih semua tag rentang, bahkan jika mereka bersarang di dalam tag lain.
sumber