Cadena ambos selectores de clase (sin espacio entre ellos):
.foo.bar {
/* Styles for element(s) with foo AND bar classes */
}
Si todavía tiene que lidiar con navegadores antiguos como IE6, tenga en cuenta que no ha leído los selectores de clase encadenados correctamente : solo leerá el último selector de clase (.bar
en este caso), independientemente de las otras clases que enumere.
para ilustrar cómo otros navegadores y IE6 interpretar esto, consideran que este CSS:
* {
color: black;
}
.foo.bar {
color: red;
}
de salida en los navegadores soportados es:
<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] -->
de salida en IE6 es:
<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] -->
Notas al pie:
- navegadores soportados:
- No seleccionado que este elemento sólo se tiene clase
foo
.
- Seleccionado ya que este elemento tiene ambas clases
foo
y bar
.
- No se seleccionó ya que este elemento solo tiene la clase
bar
.
- IE6:
- No seleccionado que este elemento no tiene clase
bar
.
- Seleccionado ya que este elemento tiene la clase
bar
, independientemente de cualquier otra clase enumerada.
¿Importa el orden en que los puse? – Adam
No importa. (Lo hará para IE6 por la forma en que lo interpreta, suponiendo que debe soportarlo). – BoltClock
¿Importa que no haya espacio entre ellos? – CodyBugstein