Die Reihenfolge von CSS-Klassen in HTML spielt keine Rolle

Avatar of Robin Rendle
Robin Rendle am

DigitalOcean bietet Cloud-Produkte für jede Phase Ihrer Reise. Starten Sie mit 200 $ kostenlosem Guthaben!

Das ist richtig! Und ich kann es auch beweisen. Schauen wir uns zuerst etwas CSS an

.a {
  color: red;
}

.b {
  color: blue;
}

Und nun schauen wir uns das Markup an

<div class="a b">Here’s some text</div>

Der Text wird blau, weil .b zuletzt in CSS definiert ist, richtig? Aber was ist, wenn wir die Reihenfolge der Klassen im HTML ändern?

<div class="b a">Here’s some text</div>

Welche Farbe soll der Text Ihrer Meinung nach haben? Rot oder blau?

Das mag sicherlich wie eine dumme Frage klingen, aber es verwirrt viele Leute, die mit CSS-in-JS-Lösungen vertraut sind. Und diese Woche habe ich mit zwei sehr erfahrenen Front-End-Entwicklern gesprochen, die ebenfalls ähnlich dachten!

Aber der Text im obigen Beispiel wird immer blau sein, egal in welcher Reihenfolge diese CSS-Klassen stehen. Und das liegt daran, dass das Markup einfach den CSS in der Reihenfolge liest, in der er geschrieben ist – die Kaskade gewinnt in diesem Beispiel.