2017-09-27 1 views
1

Ich bin neu in CSS/HTML und ich bin nicht Englisch, so habe ich einige Probleme, die Beziehungen zwischen Klassen zu verstehen. Ich gehe mit einem Beispiel:Klasse Selektoren und ihre Auswirkungen

.classA .classB { 
 
    color: red 
 
} 
 

 
.classC { 
 
    color: blue 
 
}
<div class="classA"> 
 
    <p class="classB classC"> 
 
    This text is red 
 
    </p> 
 
</div>

Meine Frage ist: warum es nicht den Stil in .classC definiert Anwendung?

Antwort

3

Weil .classA .classB spezifischer ist. Dann .classC.

Wenn Sie schreiben würde:

.classA .classC {color:blue} 

Dann wäre es angewendet werden.

Für weitere Informationen können Sie einen Blick auf MDN CSS Specificity

2

Dies zu specificity zurückzuführen ist.

In einfachen Worten: Die erste Regel ist spezifischer als die zweite, weil sie eine sehr spezifische Hierarchie beschreibt.

0

Da Ihre erste CSS-Regel eine höhere Spezifität hat. (Google danach ...)

In diesem speziellen Fall, sagte einfach: „zwei Klassen schlugen eine Klasse“ ...

0

Es ist, weil die Regel mit verschachtelten Klassen: .classA .classB {color: red} hat mehr Priorität als einfache .classC {color:blue}.

Verwandte Themen