Internet Explorer 6: Duplicación de caracteres

Actualizado 2010-06-02: solución del color de fondo.

Hay ocasiones en las que Internet Explorer 6 duplica caracteres. Se trata de un molesto bug que se da, en principio, ante las siguientes condiciones:

  • Que haya dos o más comentarios seguidos.
  • Que el elemento flotado quede a menos de 3px del límite derecho de su contenedor.

Con un solo comentario no ocurre nada, pero con dos o más comentarios seguidos se manifiesta este molesto bug. A mayor cantidad de comentarios, mayor cantidad de caracteres repetidos.

Ejemplo de código para que aparezca el problema descrito:

<div style="float:left">De esta no se repiten</div>

<!-- Ambos comentarios deben incluirse para que salga el fallo -->
<!-- Ambos comentarios deben incluirse para que salga el fallo -->

<div style="float:left; width:100%">
En esta se van a repetir caracteres.
</div>

Y sale algo como esto en IE6 (la última línea es lo que se repite):

repeated characters

s.

Hay dos soluciones:

  • Quitar los comentarios.
  • Meter comentarios condicionales, en lugar de los habituales, que sean ignorados por Internet Explorer, y que el resto de navegadores tratarán como si se tratase de un comentario normal.

Otra posible solución será asignarle al elemento un color de fondo en la CSS.

Un ejemplo del comentario condicional:

<!--[if !IE]>Inserta aquí el comentario<![endif]-->

Saber más