Pregunta ¿Cuál es la diferencia entre "& nbsp;" y ""?


Ambos significan espacio, pero ¿hay alguna diferencia?


73
2017-08-31 11:49


origen


Respuestas:


Uno es espacio irrompible y el otro es un espacio regular. Un espacio sin interrupciones significa que la línea no debe estar envuelta en ese punto, al igual que no estaría envuelta en el medio de una palabra.

Además, como señala Svend en su comentario, los espacios sin interrupción no se colapsan.


106
2017-08-31 11:51



La entidad   produce un espacio sin interrupciones, que se usa cuando no se quiere un salto de línea automático en esa posición. El espacio regular tiene el código de carácter 32, mientras que el espacio de no separación tiene el código de carácter 160.

Por ejemplo, cuando visualiza números con espacio como separador de miles: 1 234 567, utiliza espacios sin interrupción para que el número no pueda dividirse en líneas separadas. Si muestra la moneda y hay un espacio entre el monto y la moneda: 42 SEK, entonces utiliza un espacio sin interrupción para que no obtenga el monto en una línea y la moneda en la siguiente.


48
2017-08-31 12:08



Además de las otras respuestas aquí, los espacios sin interrupción no se "colapsarán" como lo harán los espacios comunes. Por ejemplo, ambos

<p>Word1          Word2</p>

y

<p>Word1 Word2</p>

hará lo mismo en cualquier navegador, mientras

<p>Word1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Word2</p>

mantendrá los espacios cuando se represente.


33
2017-08-31 12:05



No es una respuesta tanto como un ejemplo ...

Ejemplo 1: 

<div style="width:45px; height:45px; border: solid thin red; overflow: visible">
    Hello&nbsp;There
</div>  

Ejemplo # 2:

<div style="width:45px; height:45px; border: solid thin red; overflow: visible">
    Hello There
</div>

Y enlace a violín.


20
2017-08-31 15:18



Múltiples caracteres de espacio en blanco normal (espacio, tabulador y salto de línea) son tratado como un solo personaje de espacio en blanco:

Para todos los elementos HTML excepto PRE, las secuencias de espacios en blanco separan "palabras" (utilizamos el término "palabra" aquí para referirnos a "secuencias de caracteres de espacio no blanco"). Al formatear texto, los agentes de usuario deben identificar estas palabras y presentarlas de acuerdo con las convenciones del lenguaje escrito particular (guión) y el medio de destino.

Asi que

foo    bar

se muestra como

foo bar

Pero el espacio sin interrupciones siempre se muestra. Asi que

foo&‍nbsp;&‍nbsp;&‍nbsp;bar

se muestra como

foo   bar

5
2017-08-31 12:06



Como ya se mencionó, no recibirá un salto de línea donde haya un "espacio sin interrupción".

También tenga cuidado, los elementos que contienen solo un "" pueden aparecer incorrectamente, donde & nbsp; trabajará. En ie 6 como mínimo (por lo que recuerdo, IE7 tiene el mismo problema), si tiene un elemento de tabla vacío, no aplicará estilo, por ejemplo, bordes, al elemento, si no hay contenido, o solo blanco espacio. Por lo tanto, lo siguiente no se representará con bordes:

<td></td>
<td> <td>

Mientras que los bordes aparecerán en este ejemplo:

<td>& nbsp;</td>

Hmm-tenía que poner en un espacio ficticio para que funcione correctamente aquí


5
2017-08-31 12:06



Puedes ver un ejemplo de trabajo aquí:

http://codepen.io/anon/pen/GJzBxo

y

http://codepen.io/anon/pen/LVqBQo

Mismo div, mismo texto, diferentes "espacios"

<div style="width: 500px; background: red"> [loooong text with spaces]</div>

vs

<div style="width: 500px; background: red"> [loooong text with &nbsp;]</div>

4
2017-08-06 13:18



Hay muchos tipos de espacios diferentes, como espacio delgado, espacio em, espacio sin interrupción ... Jon Tan ha realizado una descripción de los más comunes en su blog.


3
2017-09-01 11:02



El primero no es tratado como espacio en blanco por el analizador de HTML, el segundo es. Como resultado, no se garantiza que "" aparezca dentro de ciertas marcas HTML, mientras que el espacio no rompible siempre aparecerá.


2
2017-08-31 11:53



@Zoidberg tiene razón, ejemplo:

<h1>title</h1> <h2>date</h2>

no mostrará espacio entre el marcado del encabezado, con

& nbsp ; 

hará espacio :)


0
2017-08-31 12:00