Por fin he encontrado la solución a la mayoría de los problemas que Internet Explorer tiene para respetar los estándares CSS y que nos obliga a utlizar hacks en nuestras CSS y muchas veces incluir código indeseable en nuestro HTML, la sulución es un script creado por Dean Edwards que se llama IE7 script con este script vas a tener tu código HTML y CSS válido y limpio.

IE7 hace que Internet Explorer tengo soporte para los estándares de la W3C, CSS y HTML, esto es lo que hace:

  • añade soporte para los siguientes selectores CSS:
    • namespace|selector
    • parent > child
    • adjacent + sibling
    • adjacent ~ sibling
    • [attr], [attr="value"], [attr~="value"] etc
    • .multiple.classes
    • :hover, :active, :focus (para todos los elementos)
    • :first-child, :last-child, only-child, nth-child, nth-last-child
    • :check, :disabled, :enabled
    • :root, :empty, :contains(), :not()
    • :before/:after/content:
    • :lang()
  • trabaja con ambos tipo de documentos HTML y XML
  • soporta CSS importadas con @import
  • preserva el estilo en cascada de la hoja de estilos
  • no altera la estructura del documento
  • utiliza puro CSS para hacer cumplir reglas de la hoja del estilo
  • soporta el modelo de caja en modo estándar y en quirks mode
  • soporta el posicionamiento fijo
  • soporta la propiedad overflow:visible
  • soporta las propiedades min-width, max-width, min-height y max-height
  • corrige los elementos de (X)HTML (abbr, object)
  • estandariza el comportamiento de los formularios
  • soporta la transparencia del canal alfa de las imágenes PNG
  • es un script muy ligero (22K)
  • completamente modular (agrega y elimina arreglos)
  • trabaja en Microsoft Internet Explorer 5+ (solamente en windows)
  • es compatible con otras librerias cómo script.aculo.us

Lo puedes descargar el script IE7 aqui, y también hay un demo.