Solucionar problemas de compatibilidad CSS en Internet Explorer 8, 7 y 6

| 23 Comments

Son tres dolores de cabeza los que tienen quienes se dedican a diseñar sitios web:

  1. IE 6
  2. IE 7
  3. IE 8

* IE representa Internet Explorer.  En fin, esta tarde me toco retocar algunos formularios y tablas de datos de un sitio, resulta que al final cuando creí que todo estaba bien evalúe en IE6, IE7, Firefox, Chrome, Safari y Opera. A pesar que algunas cosas no eran 100% idénticas entre dichos navegadores, todo parecía ir bien.

Al llegar a la reunión con los clientes, empece a evaluar el sitio y zass cual va siendo mi sorpresa que las cosas no se miraban “tan bien”. Desconcertado vi el navegador y era el único que no se me ocurrió evaluar: IE8. Les digo que si han resuelto los problemas para IE6, el 7 no estén tranquilos, porque el 8 es igual de aterrador.

He pasado unas cuantas horas tratando de resolver estos problemas de alineación y  gracias a Dios que al fin pude encontrar la solución. Les enumero algunas cuantas a manera de:

Top 3 de soluciones a problemas con CSS e Internet Explorer 6, 7 y 8

a) Diseñar cumpliendo los estándares, es decir evaluando en Firefox. Comprobar los fallos que el diseño muestra en IE6. Identificar los selectores que presentan el problema y duplicarlos, anteponiendo a la copia el selector *html y aplicando los cambios requeridos, de la siguiente manera:

#MyDiv {margin: 10px 10px 10px 10px;}

/* IE6 Only */
* html #MyDiv {margin : 5px 5px 5px 5px;}

De ese modo, mientras Firefox leerá el primer #MyDiv, IE6 sólo leerá el segundo.

b) Hacer lo mismo con IE7. Volver a duplicar los selectores en conflicto y añadir *:first-child+html a los duplicados:

#MyDiv {margin : 10px 10px 10px 10px;}

/* IE6 Only */
* html #MyDiv {margin : 5px 5px 5px 5px;}

/* IE7 Only */
*:first-child+html #MyDiv {margin : 2px 2px 2px 2px;}

Así, IE7 sólo leerá el último selector.

c) Para IE8 primero tenemos que comprobar que todo ande bien en IE7 ya que la solución será emular este navegador. Para realizarlo simplemente añadimos la siguiente meta-tag:

<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />

Si nuestra página se ve bien en Explorer 7, es un buen método para que se nos vea bien en Explorer 8.

Tener todas las versiones de IE instaladas

Para poder comprobar si el diseño se mira bien o no tenemos que tener dicho navegador. Existe una utilidad muy simpática llamada “Internet Explorer Collection” que incluye desde la versión 1 hasta la 8. Esta aplicación también incluye una herramienta para desarrolladores del tipo “Firebug”.

Enlace para descargar: IE Collection

Lamentablemente testear en IE es un mal necesario (aún) ya que en países como Guatemala más del 60% de personas aún lo utilizan como navegador principal, aunque con los esfuerzos de Google por posicionar Chrome quizá ya no sea una Utopía pensar en un mundo donde se respeten los estándares web…  Saludos!!

Visto en | La brujula Verde y NotasWeb

Related Posts Plugin for WordPress, Blogger...

Author: José Contreras

José es un especialista en marketing online enfocado en SEO, gestión de campañas SEM, consultoría en proyectos web e investigación de audiencias digitales. Certificado como Google Analytics Qualified Individual, actualmente colabora en varios proyectos web de Latinoamérica.

23 Comments

  1. Pingback: firmas aspecto diferente con diferentes navegadores - vBhispano - vBulletin en espa?ol

  2. Excelente artículo, me quité un problema de encima, yo tenía el problema en header, el margen del logo afectaba a las versiones anteriores y el menú se movía como 10 px hacia abajo….esto lo probé con el IE 8 con el botón de “Vista de compatibilidad” (se supone que simula versiones anteriores), sin esa vista se veía perfecta la página, igual en Firefox y Chrome pero una vez que presionaba ese botoncito el menú se desplazaba hacia abajo y gracias a este código solucioné el problema, el *html no funcionó, agregué el otro y ese si funcionó, ya dejé los dos por si acaso,….saludos y gracias por el artículo.

  3. @ Carlos:
    Gracias por el comentario, siempre es agradable saber que el tutorial esta cumpliendo su objetivo. Saludos cordiales!

  4. EXCELENTE!
    Llevaba unas 2 semanas dándole vueltas al tema, y por culpa del IE6 (y los usuarios poco actualizados) no acababa de mostrarse bien el diseño web que estoy realizando.
    No había manera de alinear DIVs, y gracias al he conseguido meter algúnos px en los margin-top y en los top.
    Gracias y saludos!

  5. @ Christian:

    Hola, gracias por tu comentario. Realmente la gente debería de migrar del IE6 a un mejor navegador porque nos harian la vida más fácil. Saludos!!

  6. Gracias por el aporte con ello no hubiese encontrado la solución, pues la verdad no me funciono con () pero si con () o con () y colocando la etiqueta () después de abrir y cerrar el () ya que con esta declaración mi maqueta se alinea a la izquierda.
    De todos modos gracias por el aporte.

  7. super guay el articulo, pero llegue aqui tratando de encontrar una solucion a mi problema, en la oficina tengo un pc que le instale el ie collection, y resulta que cuando me da opciones a que versiones de ie instalar el 7 y el 8 me aparecen inhabilitados, y como bien comentas en tu articulo los mas importantes a testear actualmente son el 6 7 y 8, alguien sabe porque puede ser?
    felicitaciones por el articulo…

  8. ALGUIEN SABE SI HAY ALGUN TRUQUITO COMO ESTOS PARA LAS CSS PERO PARA EL RESTO DE LOS NAVEGADORES HABITUALES, COMO SAFARI,CHROME, OPERA, FOREFOX?

  9. Mlo: Esos programas a veces no te muestran en realidad como se veran las páginas en dichos navegadores. Lo mejor si quieres por ese metodo seria evaluar con el IE Tester.

    Saludos!!

  10. el ie tester es fiable 100% con respecto a como se vera luego?, que tal el iecollection? saludos desde madrid.

  11. Muchisimas gracias , de verdad tenia mas de 5 horas bucando la solución usando wordprees !!!

  12. Que bien que te haya resultado útil :) Saludos amigo!

  13. Hey amigo, muchas gracias por el aporte, que buen aporte, lástima que microsoft haya sacado navegadores tan malos… y lo peor, es que hay PC que todavía lso tienen…. por favor… bueno, saludos !!!

  14. Jajaja, IE es el dolor de cabeza pero ni modo ha seguirlo aguantando todavía por un buen tiempo :)

  15. Hola, estoy realizando una web y en Mozilla se ve perfecto pero en Internet Explorer 8 se me mueve todo. He estado revisando varias webs para ver cómo puedo solucionar este problema hasta que llegué a la tuya pero no sé dónde debo colocar el código que detallas líneas arriba. Agradeceré me ayudes un poco con el tema.
    Saludos

  16. Hola Ohdile:

    La metaetiqueta la añades entre las etiquetas para que funcione el renderizado cómo IE 7.

    Saludos! :)

  17. Hola
    Soy novato haciendo páginas web y mucho mas te daras cuenta por usar blogspot, bueno la cosa es que agregue un menú deslizable y en firefox, chrome, opera me aparece super bien pero en el caso de IE7 y IE8 (que son los únicos que he probado de ellos) me los desfigura horriblemente, y pues no comprendo como o donde meter lo que mencionas siendo blogspot.

    Saludos y gracias de antemano =)

  18. @ Ramon: Dicho código lo debes añadir entre las etiquetas “head”, es decir en donde van los metadatos.

    Saludos cordiales :)

  19. Muy util el articulo enhorabuena!

    Solo le faltaria añadir IE 9
    ; )

    Muchas gracias

  20. @ Uridrudi: Gracias, que bien que aún sea un artículo útil. Saludos! :)

  21. Muy útil el artículo muchas gracias! Alguna idea para que funcionen los márgenes negativos en IE6??

  22. hola, arme este sitio, http://www.quintocolor.com.ar, en firefox y chrome andan perfecto, en explorer me pone funciona mal el menu, y otro sitio que tengo es http://www.multipap.com.ar, que en explorer aparece todo en negro y nada mas, alguen me puede ayudar? gracias!!!

Deja un comentario

Required fields are marked *.

*