Binatomy
CSS Specificity

CSS Specificity Calculator

Calcola e confronta la specificità di selettori CSS con spiegazione dettagliata

1

ID

2

Classes/Attr

1

Elements

121

Total

0

ID

2

Classes/Attr

1

Elements

21

Total

Vince il selettore

A

Specificità 1,2,1 vs 0,2,1

FAQ

Domande Frequenti

Tutto quello che devi sapere sulla specificità CSS

Come si calcola la specificità CSS?

La specificità è calcolata come una tripla (a,b,c): "a" conta gli ID (#id), "b" conta classi (.class), attributi ([attr]) e pseudo-classi (:hover), "c" conta gli elementi (div, p) e pseudo-elementi (::before). Per confrontare, si legge da sinistra: 1,0,0 batte sempre 0,10,0.

Cosa batte cosa nella specificità CSS?

Lo stile inline (style="") ha specificità 1,0,0,0 e batte tutto. Poi vengono gli ID (0,1,0,0), poi classi/attributi/pseudo-classi (0,0,1,0), poi elementi/pseudo-elementi (0,0,0,1). Il selettore universale (*) ha specificità 0. !important sovrascrive tutto.

Perché la specificità è importante?

Quando più regole CSS si applicano allo stesso elemento, quella con specificità più alta vince. Capire la specificità evita sorprese di stile e riduce l'abuso di !important. Una buona architettura CSS mantiene la specificità bassa e prevedibile.

Come si calcola la specificità di un selettore CSS?

La specificità di un selettore CSS si esprime come tripla: il primo numero conta gli ID, il secondo classi, attributi e pseudo-classi, il terzo elementi e pseudo-elementi. Il confronto si legge da sinistra, quindi 1,0,0 batte 0,10,0.

Quale regola vince quando due selettori colpiscono lo stesso elemento?

Vince la regola con la specificità più alta. L'ordine è: stile inline, poi ID, poi classi, attributi e pseudo-classi, infine elementi e pseudo-elementi. Il selettore universale ha specificità zero e !important sovrascrive tutto.

Perché conviene tenere bassa la specificità CSS?

Una specificità bassa e prevedibile rende chiaro quale regola verrà applicata e riduce il ricorso a !important per correggere gli stili. Confrontare due selettori prima di scriverli evita sorprese quando le regole si sovrappongono.