Kette beide Klassen-Selektoren (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, bewusst sein, dass es nicht gekettet Klasse Selektoren richtig liest : Es wird nur die letzte Klassenselektor (.bar
in diesem Fall) statt, unabhängig davon, welche anderen Klassen Sie auflisten.
Um darzustellen, wie andere Browser und IE6 diese interpretieren, sollten Sie diese CSS:
* {
color: black;
}
.foo.bar {
color: red;
}
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] -->
Ausgabe auf 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 als dieses Element nur Klasse
foo
hat ausgewählt.
- Ausgewählt, da dieses Element beide Klassen
foo
und bar
hat.
- Nicht ausgewählt da dieses Element nur Klasse
bar
hat.
- IE6:
- Nicht gewählt als dieses Element nicht Klasse hat
bar
.
- Ausgewählt, da dieses Element die Klasse
bar
hat, unabhängig von anderen aufgelisteten Klassen.
Ist es wichtig, in welcher Reihenfolge ich sie einfüge? – Adam
Es spielt keine Rolle. (Es wird für IE6, weil es es interpretiert, vorausgesetzt, Sie müssen es unterstützen.) – BoltClock
Ist es wichtig, dass es keinen Raum zwischen ihnen gibt? – CodyBugstein