Co znajduje się punkt za pomocą tej składniSelektory CSS> kontra przestrzeni
div.card > div.name
Jaka jest różnica między tym
div.card div.name
Co znajduje się punkt za pomocą tej składniSelektory CSS> kontra przestrzeni
div.card > div.name
Jaka jest różnica między tym
div.card div.name
A > B
wybiorą tylko B, które są bezpośrednimi dziećmi do A (to jest, nie ma żadnych innych elementów pomiędzy nimi).
A B
wybierze dowolne B, które są w środku A, nawet jeśli są między nimi inne elementy.
div.card > div.name
meczów <div class='card'>....<div class='name'>xxx</div>...</div>
ale to nie pasuje <div class='card'>....<div class='foo'> ... <div class='name'>xxx</div>..</div>....</div>
div.card div.name
pasuje do obu.
Oznacza to, że selektor >
zapewnia, że wybrany element po prawej stronie z >
jest niepoprawnym dzieckiem elementu po jego lewej stronie.
Składnia bez >
pasuje do każdego <div class='name'>
, który jest potomkiem (nie tylko dzieckiem) z <div class='card'>
.
Tak, odpowiedzi, które wymagają więcej niż 15 minut, nie są warte rozważenia; -) –
>
jest child selector. Określa ona tylko bezpośrednie elementy podrzędne, a nie żadnego potomka (w tym wnuków Grand-wnuki itd), jak w drugim przykładzie bez >
.
Selektor potomków nie jest obsługiwany przez IE 6 i niższe. Świetna tabela zgodności to here.
Ta odpowiedź wymaga naprawy. '>' jest [selektorem podrzędnym] (https://www.w3.org/TR/CSS2/selector.html#child-selectors);
@SNag naprawiony, nie jestem pewien, co myślałem, dzięki! –
W związku z tym pytaniem, ponieważ nie wiedziałem o tym i mogłem go użyć do rozwiązania problemu, który mam, które przeglądarki obsługują ten typ selektora? – Kyle
Jest obsługiwany we wszystkich obecnych przeglądarkach. IE uzyskało wsparcie w wersji 7: http://msdn.microsoft.com/en-us/library/cc351024(VS.85).aspx#combinators –