Compatibilidades CSS en Internet Explorer
Seguramente te pasó que al momento de estilar una web los estilos que funcionan en la mayoría de los navegadores para IE7 e IE8 no funcionan. Este post es una recopilación de soluciones que son muy útiles para que nuestra web sea también compatible para IE7+.
Opacity en IE7+:
div{ opacity: 0.5; filter: Alpha(Opacity=50); }
Display inline-block en IE7+:
div{ display: inline-block; zoom: 1; *display: inline }
Seteando zoom: 1 se activa una propiedad interna de IE llamada hasLayout que junto con el display inline solucionan el problema. El * (asterisco) hace que una propiedad sólo se aplique en los navegadores de la familia Internet Explorer anteriores a la versión 8.
Max width y Max height en IE7+:
div{ max-width: 200px; *width: expression(document.body.clientWidth>199?"200px":"auto");. max-height: 200px; *height: expression(document.body.clientWidth>199?"200px":"auto"); }
Font-face en IE7+:
@font-face { font-family: 'NombreFuenteWeb'; src: url('NombreFuenteWeb.eot?') format('eot'),url('NombreFuenteWeb.ttf') format('truetype'); }
Una aclaración importante es que el nombre de la font-family no puede superar los 31 caracteres porque sino IE la ignora. En el siguiente link lo explica con más detenimiento.
Inherit en IE7+:
div { color:inherit; //color: expression(this.parentNode.currentStyle['color']); }
De esta forma nuestro elemento puede heredar el color del elemento padre. El atributo a heredar es el que se encuentra dentro de "currentStyle".