logo Dove iniziare Linguaggi Aiuto Blog
Home Dove iniziare Linguaggi Aiuto e Supporto Info e Blog

La regola !important in CSS

La regola !important in CSS è un'istruzione speciale che si utilizza per dare priorità ad un valore di una proprietà CSS, sovrascrivendo tutti gli altri valori della stessa proprietà che potrebbero essere applicate allo stesso elemento.

Come funziona !important

Quando aggiungi !important a una proprietà CSS, questa acquisisce la massima priorità rispetto alle altre regole CSS per lo stesso elemento, indipendentemente dall'ordine in cui appaiono nel codice CSS o dalla specificità del selettore.

Nota: esiste una scala di importanza anche tra i selettori. Ad esempio, il selettore dell'id (#id) è più importante del selettore della classe (.classe). Quindi, se specifichi la stessa proprietà per lo stesso elemento ma utilizzando prima l'id e poi la classe, avrà più importanza il valore presente nel selettore dell'id.

La sintassi da utilizzare è la seguente: proprietà: valore !important

Vediamo un esempio dove il testo verrà colorato di rosso invece che blu grazie a !important:

<p class="testo">Questo testo sarà rosso a causa di !important.</p>

<style>
.testo {
  color: blue;
}
p {
  color: red !important;
}
</style>

Quando usare !important

!important dovrebbe essere usato con attenzione, ad esempio quando devi sovrascrivere stili difficili da modificare, come quelli generati da plugin o framework CSS che non puoi controllare direttamente. È utile per risolvere rapidamente conflitti di stile e assicurarsi che una certa proprietà CSS venga applicata, indipendentemente dalle altre. 

Tuttavia, usare troppo spesso !important può complicare la gestione del codice, rendendo difficile capire quale proprietà CSS prevale e facendo diventare complicate eventuali future modifiche. Questo può portare a una situazione in cui sei costretto a utilizzare !important sempre più spesso, per forzare le nuove proprietà.

Ad esempio, è difficile capire in questo codice quale proprietà è la predominante:

.testo {
  color: blue !important;
}
p {
  color: red !important;
}
#testo {
  color: green !important;
}

Per evitare questi problemi, usa !important solo quando è davvero necessario e non ci sono altre soluzioni possibili. Prendiamo come esempio una pagina in cui ci sono diversi link (<a>). Tutti hanno lo stesso stile, ma dobbiamo modificarne solo uno. Invece di utilizzare !important, possiamo aggiungere una classe all'elemento:

<a href="#1">Link normale</a>
<a href="#2" class="colorato">Link colorato</a>

<style>
a {
  color: black;
}
.colorato {
  color: red;
}
</style>

Nell'esempio, la classe predomina sul selettore del tag, quindi il secondo link viene colorato di rosso.