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 !important
einem 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 left
und background-none
wie 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.
left
undbackground-none
sollte vermieden werden?