Esistono diversi modi in cui le proprietà possono essere sovrascritte. Supponendo che tu l'abbia fatto
.left { background: blue }
ad esempio, una delle seguenti operazioni lo sovrascriverebbe:
a.background-none { background: none; }
body .background-none { background: none; }
.background-none { background: none !important; }
I primi due "vincono" per specificità del selettore; vince il terzo !important
, strumento spuntato.
Puoi anche organizzare i tuoi fogli di stile in modo che, ad esempio, la regola
.background-none { background: none; }
vince semplicemente per ordine, vale a dire per essere dopo una regola altrimenti altrettanto “potente”. Ma questo impone delle restrizioni e richiede che tu stia attento in qualsiasi riorganizzazione dei fogli di stile.
Questi sono tutti esempi di CSS Cascade , un concetto cruciale ma ampiamente frainteso. Definisce le regole esatte per risolvere i conflitti tra le regole del foglio di stile.
PS ho usato left
e background-none
come sono stati usati nella domanda. Sono esempi di nomi di classi che non dovrebbero essere usati, poiché riflettono una resa specifica e non ruoli strutturali o semantici.
left
edbackground-none
essere evitato?