Middle
Povedz mi o špecifickosti CSS selektorov. Ako sa počíta? Ktorý je najšpecifickejší selektor?
sobes.tech AI
Odpoveď od AI
Špecifickosť CSS selektora je číselná hodnota, ktorá určuje prioritu použitia štýlov, keď viaceré pravidlá sú v konflikte.
Ako sa počíta špecifickosť
Špecifickosť sa zvyčajne predstavuje ako štvormiestne číslo (a,b,c,d):
- a — ak je štýl nastavený cez inline štýl (napríklad style=""), potom a=1, inak 0
- b — počet ID selektorov v selektore
- c — počet tried, pseudotried a atribútových selektorov
- d — počet tagov a pseudoelementov
Príklad: selektor #menu .item > a:hover
- ID selektor:
#menu→ b=1 - Trieda
.itema pseudotried:hover→ c=2 - Tag
a→ d=1 - Žiadny inline štýl → a=0
Špecifickosť: (0,1,2,1)
Najšpecifickejší selektor
Najšpecifickejší je inline štýl (a=1), ktorý má vždy prioritu pred akýmkoľvek CSS selektorom.
Porovnávaním selektorov bez inline štýlov, selektor s väčším počtom ID selektorov má vyššiu prioritu.
Zhrnutie
Špecifickosť pomáha prehliadaču určiť, ktoré CSS pravidlo použiť, ak viac pravidiel platí pre ten istý prvok. Čím vyššia je špecifickosť, tým väčšiu prioritu má.