Überschreiben Regeln von h4 mit einem class-Selektor
Ich habe Folgendes html:
<div class="main">
<div class="container">
<h4 class="test"> Test </h4>
</div>
</div>
Und die folgenden CSS:
.main .container h4 {
color: red;
}
.test {
color: blue;
}
Warum wäre das Klasse .testen Sie überschreiben nicht die Farbe die Regel? Wie kann ich dies erreichen?
Dank
- Sie müssen verstehen, die css-Selektoren Priorität. Check this : stackoverflow.com/questions/4072365/...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dies ist einSpezifität Problem.
Besonderheit ist, wie wichtig ein bestimmter Selektor ist. In diesem Fall ist die erste Deklaration verwendet zwei Klassen, und ein element. Dies bedeutet, dass nur ein inline-style -, #id oder etwas mit mehr Klassen kann über ihn schreiben.
Wenn Sie möchten, um Einfluss auf die Klasse
test
können wir.main .container .test
, das ist 3 Klassen und wird jetzt über ihn schreiben!Wenn zwei Dinge haben die gleiche Spezifität, zum Beispiel, wenn Sie verwenden
.main .container h4
wieder, wird der Letzte im Dokument Vorrang.Es ist ein Weg, um über zu schreiben, unabhängig von Ihrer Spezifität oder wo kommt es in dem Dokument, und das ist, indem
!important
einem bestimmten Stil, zum Beispiel.test { color: blue !important; }
. Dies ist nicht empfehlenswert, wenn Sie verwenden können, was oben beschrieben ist, da dies möglicherweise künftig Probleme verursachen.Die spec gefunden werden kann hier