Verketten Sie beide Klassenselektoren (ohne Leerzeichen dazwischen):
.foo.bar {
/* Styles for element(s) with foo AND bar classes */
}
Wenn Sie immer noch mit alten Browsern wie IE6 zu tun haben, beachten Sie, dass er verkettete Klassenselektoren nicht korrekt liest: Er liest nur die zuletzt Klassenselektor ( .bar
in diesem Fall) stattdessen, unabhängig davon, welche anderen Klassen Sie auflisten.
Um zu veranschaulichen, wie andere Browser und IE6 dies interpretieren, betrachten Sie dieses CSS:
* {
color: black;
}
.foo.bar {
color: red;
}
Die Ausgabe auf unterstützten Browsern ist:
<div class="foo">Hello Foo</div> <!-- Not selected, black text [1] -->
<div class="foo bar">Hello World</div> <!-- Selected, red text [2] -->
<div class="bar">Hello Bar</div> <!-- Not selected, black text [3] -->
Die Ausgabe im IE6 ist:
<div class="foo">Hello Foo</div> <!-- Not selected, black text [1] -->
<div class="foo bar">Hello World</div> <!-- Selected, red text [2] -->
<div class="bar">Hello Bar</div> <!-- Selected, red text [2] -->
Fußnoten:
-
Unterstützte Browser:
- Nicht ausgewählt da dieses Element nur die Klasse
foo
.
- Ausgewählte da dieses Element beide Klassen hat
foo
y bar
.
- Nicht ausgewählt da dieses Element nur die Klasse
bar
.
-
IE6:
- Nicht ausgewählt da dieses Element nicht die Klasse
bar
.
- Ausgewählte da dieses Element die Klasse
bar
unabhängig von allen anderen aufgeführten Klassen.