Internet Explorer y CSS
Miércoles, 23 de Julio de 2008Este post va dedicado a todas aquellas personas que, como yo, hemos realizado webs y nos hemos tenido que pegar (a veces literalmente) cabezazos contra la pared porque en IE, al no regirse por los standares, no se ve la web igual que con otros navegadores. ¡Con lo rebonica que se ve en FIREFOX!
Pues bien, para todos los que sufrimos y, a la vez, no tenemos más remedio que soportar la desidia de cambiar código para que en Internet Explorer el diseño de la web no varíe demasiado, voy a mostraros algún truco en CSS para programar sólo para él.
Es posible que muchos lo conozcais y también es posible que para otros sea algo nuevo que puede aportar grandes cosas a su desarrollo, se trata de los “Hacks”. Esta solución la propuso Edwardson Tan y consiste en hacer que sólo Internet Explorer interprete ciertas instrucciones CSS. Hay varias formas de realizar esto:
1) Para que lo lean todos los exploradores salvo Internet Explorer:
#miCapa {
margin-top: 5px;
}
html>body #miCapa {
margin-top: 1px;
}
Internet Explorer no interpreta “html>body” mientras que el resto de navegadores sí, por lo que el último bloque será el que aplicará Firefox, Opera, etc.
2) Para que sólo lo lea Internet Exporer:
#miCapa {
margin-top: 1px;
*margin-top: 5px;
}
Sólo Internet Explorer sabrá que tiene que utilizar un margen superior de 5px.
Rizando el rizo, también podemos diferenciar entre IE6 e IE7 ya que tampoco funcionan de la misma manera:
#miCapa {
margin-top: 1px;
*margin-top: 5px; //IE 7
_margin-top: 7px; //IE6
}
Internet Explorer 6 es el único que procesa correctamente el guión bajo “_”, también se podría utilizar una barra invertida de esta manera “mar\gin-top: 7px” . IE5 e IE6 son los únicos que son capaces de escapar la barra invertida dentro del nombre de una propiedad en un CSS.
