Junior
Ako fungujú rôzne priority štýlov v CSS?
sobes.tech AI
Odpoveď od AI
V CSS-u sa priorita štýlov určujú mechanizmus kaskádovania a špecifickosť selektorov. Základné princípy sú:
-
Špecifickosť — je váha selektora, ktorá sa počíta na základe počtu ID, tried, tagov a ďalších komponentov. Čím vyššia je špecifickosť, tým väčšiu prioritu má štýl.
- ID selektor (
#id) má vysokú prioritu. - Triedy (
.trieda), atribúty a pseudotriedy majú strednú prioritu. - Tagy (
div,p) majú nízku prioritu.
- ID selektor (
-
Kaskádovanie — ak majú dve pravidlá rovnakú špecifickosť, aplikuje sa to, ktoré je deklarované neskôr v kóde.
-
!important — pridáva maximálnu prioritu štýlu, prepísaním iných pravidiel, okrem iných
!importants vyššou špecifickosťou. -
Dedičstvo — niektoré vlastnosti (
color,font-family) sa dedičia od rodiča, ak nie sú prepísané.
Príklad:
#header { color: red; } /* špecifickosť 100 */
.menu { color: blue; } /* špecifickosť 10 */
div { color: green; } /* špecifickosť 1 */
/* Ak má prvok id="header" a triedu="menu", farba bude červená */
Takto prehliadač vyberá štýl s najvyššou špecifickosťou, pričom zohľadňuje poradie a prítomnosť !important.