CSS selektory level 4: další pseudotřídy a přesnější cílení
Nový návrh specifikace pro CSS selektory (Selectors level 4) z letošního září přináší několik zajímavých novinek. Jednou z nich je pseudotřída :matches()
, která slouží k výběru více pseudotříd:
*|*:matches(:hover, :focus)
Tento selektor platí pro všechny prvky ve všech jmenných prostorech, které mají pseudotřídu :hover
nebo :focus
. Level 4 definuje podobně i další pseudotřídy podle vzoru :nth-child()
, například :nth-match()
.
Zajímavou novinkou je syntax, umožňující zacílit pravidlo na element, který není v selektoru poslední. Příklad:
ul > $li > a { background: #000;}
Bez znaku ‚$‘ by tato definice platila pro element a
, který je potomkem li
, který je potomkem ul
. Pomocí ‚$‘ můžeme toto pravidlo aplikovat na jiný element ze selektoru – v tomto případě na element li
, který má potomka a
, a sám je potomkem ul
.
To je dost, ze tam pridali to cileni. jQuery ma sice .has(), ale tohle bude snazsi. Ted si uz jen pockame 20let nez to bude podporovat i IE 19 a hned to zacnu pouzivat :-). Ale do te doby bude vlastne IE uz raritou, takze to snad bude driv.