2009-11-04 24 views
15

Sé que IE7 & IE8 supuestamente tiene soporte para usar múltiples selectores de clases de CSS, pero parece que no puedo hacer que funcione.Uso de selectores de clases múltiples en IE7 e IE8

CSS:

.column { 
    float: left; 
    display: block; 
    margin-right: 20px; 
    width: 60px; 
} 
.two.column { 
    width: 140px; 
} 
.three.column { 
    width: 220px; 
} 
.four.column { 
    width: 300px; 
} 

HTML:

<div class='two column'>Two Columns</div> 
<div class='three column'>Three Columns</div> 
<div class='four column'>Four Columns</div> 

Siempre terminan usando la regla .four.column. ¿Alguna idea sobre lo que estoy haciendo mal?

Respuesta

36

Desea asegurarse de utilizar un tipo de documento para no procesar en modo peculiar. Por ejemplo:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<title>Test Page</title> 
<style type="text/css"> 
.column { 
    float: left; 
    display: block; 
    margin-right: 20px; 
    width: 60px; 
    border: 1px solid; 
} 
.two.column { 
    width: 140px; 
} 
.three.column { 
    width: 220px; 
} 
.four.column { 
    width: 300px; 
} 
</style> 
</head> 
<body> 
<div class="two column">Two Columns</div> 
<div class="three column">Three Columns</div> 
<div class="four column">Four Columns</div> 
</body> 
</html> 
+5

Mierda, eso fue realmente descuidado de mi parte. ¡Gracias por la ayuda! – Erol

+0

Gracias, gracias. –

+2

¡Salvaste mi vida! – Fabien

3

No es que usted está necesariamente haciendo nada malo, pero si sólo tiene clases como:

.column { 
    float: left; 
    display: block; 
    margin-right: 20px; 
    width: 60px; 
} 
.two { 
    width: 140px; 
} 
.three { 
    width: 220px; 
} 
.four { 
    width: 300px; 
} 

entonces se debería obtener la representación que desee cuando se aplican esas clases en el orden correcto:

<div class='column two'>Two Columns</div> 

Si piensa que las clases de css son como clases de programación, la clase .two amplía la clase base .column, anulando su propiedad de ancho.

De esta manera, también se puede aplicar sus .two, .three y .four clases a otros elementos de la página cuyo ancho desea corregir a esos tamaños, sin tener que ser dependiente de su posición o contenedor en la página.

Cuestiones relacionadas