Chain oba przełączniki klasy (bez przestrzeni pomiędzy nimi):
.foo.bar {
/* Styles for element(s) with foo AND bar classes */
}
Jeśli nadal mamy do czynienia ze starymi przeglądarkami jak IE6, należy pamiętać, że nie czyta klasy selektorów połączonych była poprawnie : zamiast tego będzie tylko czytać selektor klasy last (.bar
), niezależnie od tego, jakie inne klasy wypiszesz.
Aby zilustrować jak innych przeglądarek i IE6 zinterpretować to, rozważyć tę CSS:
* {
color: black;
}
.foo.bar {
color: red;
}
Wyjście na obsługiwanych przeglądarek to:
<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] -->
Wyjście na IE6 jest:
<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] -->
Przypisy:
- Obsługiwane przeglądarki:
- Nie wybrano jako element ten posiada klasę
foo
tylko.
- Wybrany ponieważ ten element ma obie klasy:
foo
i bar
.
- Nie wybrano ponieważ ten element ma tylko klasę
bar
.
- IE6:
- Nie wybrano jako element ten nie posiada klasę
bar
.
- Wybrany ponieważ ten element ma klasę
bar
, niezależnie od innych wymienionych klas.
Czy ma znaczenie kolejność, w której je wstawiam? – Adam
To nie ma znaczenia. (Będzie dla IE6 z powodu tego, jak to interpretuje, zakładając, że musisz go wspierać.) – BoltClock
Czy to ma znaczenie, że nie ma między nimi przestrzeni? – CodyBugstein