Es gibt verschiedene Möglichkeiten, wie Eigenschaften überschrieben werden können. Vorausgesetzt, Sie haben
.left { background: blue }
zB würde eine der folgenden Optionen es überschreiben:
a.background-none { background: none; }
body .background-none { background: none; }
.background-none { background: none !important; }
Die ersten beiden "gewinnen" nach Selektorspezifität; der dritte gewinnt mit !importanteinem stumpfen Instrument.
Sie können Ihre Stylesheets auch so organisieren, dass zB die Regel
.background-none { background: none; }
gewinnt einfach durch Ordnung, dh , indem sie nach einer ansonsten gleich „powerful“ -Regel. Dies führt jedoch zu Einschränkungen und erfordert, dass Sie bei der Neuorganisation von Stylesheets vorsichtig sind.
Dies sind alles Beispiele für die CSS-Kaskade , ein entscheidendes, aber weithin missverstandenes Konzept. Es definiert die genauen Regeln für die Lösung von Konflikten zwischen Stylesheet-Regeln.
PS Ich habe verwendet leftund background-nonewie sie in der Frage verwendet wurden. Sie sind Beispiele für Klassennamen, die nicht verwendet werden sollten, da sie bestimmte Renderings und keine strukturellen oder semantischen Rollen widerspiegeln.
leftundbackground-nonesollte vermieden werden?