Contenido

Curioso bug en Internet Explorer 7

30 Jun

+ 14

Internet Explorer 7 solucionó mucho de los problemas que los usuarios de Internet Explorer 6 sufrían (y aún sufren), pero por otro lado nos encontramos con problemas curiosos que seguro en algún momento nos puede llegar a poner los pelos de punta.

El código

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
      <title>Test</title>
    	<style type="text/css">
      	ol li {height:40px;}
       </style>
</head>
<body>
<ol>
    <li>Esto</li>
    <li>es</li>
    <li>solo</li>
    <li>una</li>
    <li>prueba</li>
</ol>  
</body>
</html&gt;

Como podemos ver, únicamente se trata de un listado ordenado al que acada uno de sus elementos <li></li> le aplicamos un tamaño de 40px con la propiedad height, debido a esto obtenemos un listado numérico bastante peculiar.

Explicación del bug

Si revisamos el código vemos que el problema reside en que usamos un height para definir el tamaño de cada elemento <li></li> de la lista <ol></ol>, esto hace que se pierda la cuenta y aparezca como 1, cada elemento. El tamaño de cada item, es indiferente, incluso puede ser height:0px;

Demo

He montado el código en un fichero HTML para que lo podais probar vosotros mismos. Es necesario usar Internet Explorer 7 para ver el bug en acción.

Via

En el height no has puesto 40px sino 0px

No es por nada, pero mucho más espeluznante es el resultado en Firefox 3.

@DVDCano: Culpa mía, que como dice @Logus he puesto 0px en lugar de 40px. Ahora ya se ve correctamente.

¿Pero a quién se le podría ocurrir poner un height a un listado?, en todo caso sería un padding-bottom. Si es que IE no tiene culpa de las cosas que se le ocurren a cada uno.

Las listas no solo pueden usarse para mostrar texto, en varios casos se suele usar height en IE, o min-height en un navegador web.

Nota: el bug tambien afecto a mi IE 6 ( que raro )

@Diego: el atributo height forma parte de los válidos para este elemento según el estandar. Si el estandar lo contempla, cualquier usuario debería poder usarlo.

Es más, con cualquier otro navegador (incluso con Internet Explorer 8 ) lo podemos usar.

Efectivamente, el IE 7 sale cualquier cosa. Ya bueno, despues de ver con lo que sucede con el Acid3 test y el IE 7 no podemos esperar mucho, no?

Como bien dice anieto aún tenemos que dar soporte a IE6 (en parte al no haber sido Vista un boom ). Mi pregunta, ¿desaparecera al menos IE6 cuando liberen IE8?. Seguir manteniendo la compatibilidad es un handycap enorme.

En menor grado también espero que pronto se adopte FF3 y desaparezca FF2, porque probar todo (hablo también de rendimiento) en IE6,IE7,IE8,FF2 y FF3 (y alguno más) puede ser demencial, sobretodo si se utilizan librerías js un poco sofisticadas

Un saludo

http://ipinfo.info/netrenderer/ < Para los que no tengamos Windows instalado, no tengo otra forma de verlo.

¿Pasa algo más aparte de lo que se ve en la imagen?

Tengo inslatalo el beta de IE 8 y aparece el bug.

@Nosolomusica: El bug es que el contador siempre está a 1, lo que le quita toda la gracia a los elementos <ol></ol>

Como dicen más arriba, en IE6 también pasa.

Es raro, pero no lo conocía. Muchas gracias

En FF3 y Safari 3 se ve perfecto en IE7 veo el bug :S

Este @#~$% bug me esta dando muchisimos problemas.

Comentar

#

Me reservo el derecho de eliminar y/o modificar los comentarios que contengan lenguaje inapropiado, spam u otras conductas no apropiadas en una comunidad civilizada. Si tu comentario no aparece, puede ser que akismet lo haya capturado, cada día lo reviso y lo coloco en su lugar. Siento las molestias.