2012-09-11 25 views
5

Acabo de descubrir esta pequeña joya de un error de IE9. Parece que IE9 no reconoce un espacio que precede a un punto como punto de ruptura. Como en una lista de dominio o extensiones de archivo. Abra el siguiente violín en IE9.Error de envoltura de período IE9

http://jsfiddle.net/cssguru/nNnzM/1/

He intentado utilizar caracteres de escape, pero no sirvió de nada. ¿Alguna sugerencia sobre una solución alternativa?

+0

Hmmm .. Mismo problema en IE8. –

+0

IE10 tiene el mismo problema, aunque no estoy seguro de que sea un error. Puede ser deliberado. –

+0

He encontrado que agregar "  .web   .blog   .nyc ..." funciona pero termina con dos espacios. Esto funcionará para lo que estoy haciendo, pero creo que voy a dejar el hilo abierto y ver si alguien más tiene una solución más limpia. Ver http://jsfiddle.net/cssguru/nNnzM/4/ –

Respuesta

6

Es una característica molesta, pero probablemente sea intencional y no se considere un error por parte del vendedor. En cambio, se considera que implementa Unicode line breaking rules (que son parcialmente bastante extraños). De acuerdo con esas reglas, el período (o PARADA TOTAL como lo llaman) tiene una clase de ruptura de línea IS, un separador numérico de infijo y "Cuando no se utilizan en un contexto numérico, los separadores de infijo son signos de puntuación que terminan con la oración. Por lo tanto, siempre previenen las pausas antes. "

Para resolver estos problemas, probablemente sea mejor insertar U + 200B ZERO WIDTH SPACE entre un espacio normal y un período, p.

.web ​.shop ​.blog ​.nyc ... 

U + 200B es un carácter de control que permite saltos de línea en un lugar donde no estarían permitidos.

Las versiones anteriores de IE (IE 6) pueden tener dificultades con esto, mostrando un símbolo de carácter irrepresentable en lugar de U + 200B. Un método alternativo, la etiqueta <wbr>, no tendría este problema, pero parece que IE 8 y versiones posteriores a menudo no respetan esta antigua etiqueta (tal vez porque nunca llegó a ningún estándar, a pesar de su utilidad).

+0

¡Guau! Gracias por la respuesta perspicaz. Creo que todavía estoy a favor de mi "  .web   .shop ...", pero le doy crédito por la respuesta si no obtengo una mejor respuesta. –

+0

+1 Una de las respuestas más informativas que he visto por aquí. –

+0

Hice un poco más de prueba y parece que ni el & # x200b; o trabajo en IE8 ... http://jsfiddle.net/cssguru/nNnzM/17/ –