Sólo hay dos cosas infinitas: el Universo y la estupidez humana, y no estoy muy seguro acerca del primero.
Albert Einstein, físico.
Un día una amiga me comentó que una compañera suya estaba haciendo una web, y que “en el Explorer se ve bien y en Firefox mal”, y me preguntó que a qué podría ser debido. Le di una respuesta deprisa y corriendo y creo que no me expresé bien, así que aquí va la full version. La comparto aquí con vosotros porque seguramente nos esperen muchas más preguntas de este estilo.
La clave para entenderlo bien es darle la vuelta a la tortilla. La realidad es que en IE se ve “mal”, y en el resto de los navegadores (no sólo Firefox) se ve “bien”. Pongo “bien” y “mal” entre comillas, porque son apreciaciones que hacemos los humanos, subjetivas.
Los navegadores no son adivinos con bolas de cristal que se conectan a la mente del maquetador web e interpretan su voluntad. El maquetador tiene que dejar escrito, detalladamente, el contenido y apariencia de la página web: esto se consigue con los lenguajes XHTML y CSS.
Estos lenguajes se encuentran bien definidos como estándar en el WWW Consortium (W3C para los colegas). Este organismo se encarga de describir con precisión cómo deben interpretar el XHTML y el CSS los navegadores.
Ahora bien, los navegadores no siempre cumplen a pies juntillas lo que dice elW3C. Es más, cierto navegador1 no hace ni puto caso.
1Quien-Tú-Ya-Sabes.
Pongamos un ejemplo ficticio: imaginemos que el Explorer “confunde” los colores rojo y blanco, y los intercambia, debido a un error de programación (no entraremos a valorar si por descuido o deliberadamente). Es decir, que donde pone #fff IE lo interpreta como #f00, y viceversa. En este ejemplo, supondremos que el resto de navegadores interpretan los colores correctamente.
¿Qué pasaría si quisiéramos hacer una página web con fondo blanco? En nuestro código CSS, pondríamos algo así. . .
body { background : #f00 };
. . . que en IE se mostraría blanco. Entonces cuando vamos alegremente a mirar la web con otros navegadores, vemos que se muestra de color rojo fosforito. “En Firefox se ve mal”. Pues no. Por mucho que se empeñe el Explorer en hacer creer a los desarrolladores web, el número #f00 significa rojo, y prou.
Lo que ha pasado es que una página se ha desarrollado mal (a menudo inconscientemente) para forzar a que se vea “bien” en IE. Lo que obtenemos es que en IE la página se visualiza incorrectamente, pero por casualidades místicas, esa visualización coincide con los deseos del diseñador.
Un caso real y muy gráfico de cómo IE visualiza mal las páginas lo podemos encontrar en el Acid Test. Es un ejemplo de página web que construye mediante código estándar y válido un dibujito de una cara sonriente. Según lo bien programado que esté el navegador, veremos ese dibujo más o menos bien.
Información adicional
Contenido publicado bajo licencia Creative Commons. Belén Albeza (BenKo)
Si tienes alguna pregunta de este ejemplo; puedes hacerla aqui en los foros.