salta - salto de linea html/n
¿Espacio que no se puede colapsar pero aún se puede romper(en línea) en HTML? (8)
¿Qué puedo usar en HTML si quiero tener espacios en blanco en el centro de la línea que parecen tres espacios, pero aún se pueden romper si la línea es demasiado larga?
El espacio en blanco normal se contrae (una serie de espacios se ve igual que un solo espacio), y en el espacio de no separación (& nbsp) la línea no se puede romper.
Actualización : creo que lo que realmente quiero es una etiqueta <pre> que todavía pueda romper líneas largas (necesito mostrar el código fuente).
¿No funcionará un espacio entre dos espacios que no se rompan?
& nbsp; & nbsp;
¿Qué pasa con uno o más espacios em (& emsp;)? Por supuesto, esto dependerá de cuál sea el tamaño de fuente del usuario. Si eso realmente no funciona en su diseño, considere un espacio en blanco (& ensp;).
También es posible que desee ver esta tabla de varios espacios en Wikipedia.
¿Qué tal <wbr> ?
¿Qué tal dos
''s seguido de un espacio regular? La única desventaja de eso (que yo sepa) es que si un salto de línea cae naturalmente en el espacio normal, tendrá un poco de espacio final en la línea anterior debido a los espacios que no se rompen, pero no No creo que alguna vez haga una diferencia en el aspecto real de la página.
Da 100px al espacio izquierdo entre sus espacios de texto ejemplo
span style = "margin-left: 100px;"
(n_n)
En realidad tengo la respuesta exacta que estás buscando. Busqué por todas partes esta respuesta y nada de lo que sugirieron funcionó perfectamente. Así que, pensé en una solución, la probé y me sorprendió que funcionara sin ningún defecto.
Garrow estaba realmente en lo correcto (simplemente no lo explicó ni lo tomó todo el tiempo). La solución es en lugar de poner
solo, poner <wbr>
. Simplemente haga una búsqueda, reemplace y agregue la etiqueta <wbr>
después de cada
. ¡Funciona perfectamente!
La etiqueta <wbr>
es una etiqueta poco conocida que se admite en todos los navegadores principales y le dice al navegador que ponga una nueva línea aquí SOLAMENTE si es necesario.
Actualización: ¡Encontré un navegador en el que esto no funciona exactamente en IE 8! ¡Ellos realmente sacaron la etiqueta <wbr>
! Resolví este problema creando una clase que dice:
.wbr:before { content: "/200B" }
y en lugar de reemplazar
con <wbr>
, reemplácelo con lo siguiente:
<wbr><span class=''wbr''></span>
En PHP, esto se vería como:
$text = str_replace(" "," <wbr><span class=''wbr''></span>", $text);
No te olvides de agregar la clase también.
Obviamente, esto se está volviendo un poco excesivo, reemplazando un solo espacio con todo eso, pero funciona como se desea y ya que nunca vi el marcado que funcionó para mí.
Si esto es demasiado complicado, otra solución es intercambiar espacios dobles para un
seguido de un espacio normal. Esto alternará
Y espacios normales y trabajos en mis pruebas.
En PHP, esto se vería como:
$text = str_replace(" "," ", $text);
¡Espero que esto ayude! Pongo suficiente investigación en esto; Pensé que debería pasarlo.
Podría ser mejor dar un paso atrás y preguntar qué es lo que está tratando de representar. ¿Qué significa este espacio extra ancho?
Si no estás apuntando a IE (excepto 8, modo estándar):
<span style="white-space: pre-wrap"> </span>
Para IE, <span style="width:3ex"></span>
funciona en modo peculiar, así que combínelos y ...
<span style="width:3ex;white-space:pre-wrap"> </span>
que parece funcionar en todos los lugares que probé ... excepto en los estándares IE7. D''oh!