Saya agak bingung antara 2 penyeleksi ini.
Apakah pemilih turunan :
div p
pilih semua p
dalam satu div
atau tidak itu merupakan keturunan langsung? Jadi jika p
ada di dalam yang lain div
masih akan dipilih?
Kemudian pemilih anak :
div > p
Apa bedanya? Apakah seorang anak berarti anak langsung ? Misalnya.
<div><p>
vs.
<div><div><p>
apakah keduanya akan dipilih, atau tidak?
css
css-selectors
iceangel89
sumber
sumber
Jawaban:
Coba pikirkan apa arti kata "child" dan "descendant" dalam bahasa Inggris:
sumber
Ya kamu benar.
div p
akan cocok dengan contoh berikut, tetapidiv > p
tidak akan.Yang pertama disebut pemilih keturunan dan yang kedua disebut pemilih anak .
sumber
Pada dasarnya, " ab " memilih semua b di dalam a, sementara " a> b " memilih b yang hanya anak-anak dari a , itu tidak akan memilih b apa anak dari b apa anak dari a .
Contoh ini menggambarkan perbedaan:
Warna latar belakang abc dan def akan berwarna hijau, tetapi ghi akan memiliki warna latar belakang merah.
PENTING: Jika Anda mengubah urutan aturan menjadi:
Semua huruf akan memiliki latar belakang merah, karena pemilih keturunan memilih anak juga.
sumber
Secara teori: Anak => keturunan langsung leluhur (mis. Joe dan ayahnya)
Keturunan => elemen apa pun yang diturunkan dari leluhur tertentu (mis. Joe dan buyutnya)
Dalam praktiknya: coba HTML ini:
dengan CSS ini:
http://jsfiddle.net/X343c/1/
sumber
red
danblue
ditukar).Ketahuilah bahwa pemilih anak tidak didukung di Internet Explorer 6. (Jika Anda menggunakan pemilih dalam pemilih jQuery / Prototype / YUI dll daripada dalam style sheet, ia tetap berfungsi)
sumber
Memilih semua elemen 'p' di mana induknya adalah elemen 'div'
Ini berarti anak-anak langsung Memilih semua elemen 'p' di mana orang tua adalah elemen 'div'
sumber
Pemilihan dan penerapan gaya CSS untuk elemen tertentu dapat dilakukan melalui melintasi elemen dom [Contoh
Contoh
sumber