Specyficzność określa, które style mają pierwszeństwo w przypadku konfliktów. Wyższa specyficzność nadpisuje niższą.
-
Ilość ID (Najwyższa specyficzność): Każdy selektor ID w regule zwiększa specyficzność o 100.
- Przykład:
#elementma wyższą specyficzność niż.klasa.
- Przykład:
-
Ilość klas i atrybutów: Każda klasa lub atrybut w selektorze zwiększa specyficzność o 10.
- Przykład:
.klasama wyższą specyficzność niżelement.
- Przykład:
-
Ilość elementów i pseudo-klas: Każdy element lub pseudo-klasa (np.
:hover) w selektorze zwiększa specyficzność o 1.- Przykład:
divma wyższą specyficzność niż:hover.
- Przykład:
-
!important (Najwyższa specyficzność): Wartość deklaracji CSS z
!importantma najwyższą specyficzność i zawsze nadpisuje inne style.
Jeśli dochodzi do konfliktu między stylami, przeglądarka zastosuje reguły z wyższą specyficznością. W przypadku, gdy specyficzność jest taka sama, przeglądarka zastosuje reguły, które pojawiają się później w kodzie (zasada kaskady).
Przykłady specyficzności:
#elementjest bardziej specyficzne niż.klasa..klasa1.klasa2jest bardziej specyficzne niż.klasa1.div pjest bardziej specyficzne niżp..klasa !importantma najwyższą specyficzność i zawsze ma pierwszeństwo.
Prawidłowe zrozumienie specyficzności jest istotne, aby unikać nieoczekiwanych konfliktów w kodzie CSS i skutecznie
kontrolować, które style zostaną zastosowane do elementów HTML. W praktyce zaleca się unikanie nadmiernego
używania !important i tworzenia zbyt złożonych selektorów, aby zachować czytelność i kontrolę nad kodem CSS.

