En efterkommande väljare i CSS är vilken väljare som helst med vitt mellanrum mellan två väljare utan en kombinator. Här är några exempel:
ul li ( ) header h2 ( ) footer a ( ) .module div ( ) #info-toggle span ( ) div dl dt a ( )
Ta ul li ( )
till exempel. Det betyder "alla listobjekt som härstammar från en oordnad lista."
Avstamning betyder var som helst kapslat i det i DOM-trädet. Kan vara ett direkt barn, kan vara fem nivåer djupt, det är fortfarande en ättling. Detta skiljer sig från en barnkombinator (>) som kräver att elementet ska vara nästa kapslade nivå ner.
För att illustrera, div span ( )
matchar:
I will match
- I will match too
Du borde förmodligen inte oroa dig för det mycket, men den decedent väljaren är ganska "dyr" - vilket betyder svårt / långsamt för att rendera motorer att räkna ut och göra saker med. MDN:
Efterkommande väljare är den dyraste väljaren i CSS. Det är fruktansvärt dyrt - speciellt om väljaren är i taggen eller universalkategorin.
Men bara i jämförelse med andra väljare. Det är fortfarande flammande snabbt och du kommer nog aldrig att märka det om du inte blir galen.
Webbläsarstöd
Krom | Safari | Firefox | Opera | IE | Android | iOS |
---|---|---|---|---|---|---|
Några | Några | Några | Några | Några | Några | Några |