В чем разница между "" и " "?


оба они означают места, но есть ли разница?

13 78

13 ответов:

один неразрывный пробел а другой-это регулярное пространство. Неразрывное пространство означает, что линия не должна быть обернута в этой точке, точно так же, как она не была бы обернута в середине слова.

кроме того, как указывает Свенд в своем комментарии, неразрывные пространства не свернуты.

сущности   создает неразрывное пространство, которое используется, когда вы не хотите автоматического разрыва линии в этом положении. Регулярное пространство имеет код символа 32, в то время как неразрывное пространство имеет код символа 160.

В дополнение к другим ответы, неразрывные пробелы не будут "свернуты", как обычные пробелы. Например, оба

<p>Word1          Word2</p>

и

<p>Word1 Word2</p>

будет отображать то же самое в любом браузере, в то время как

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

сохранит пробелы при визуализации.

не столько ответ, сколько примеры..

Пример 1:

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

Пример #2:

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

и по ссылке скрипка.

несколько обычных пробелов (пробел, табулятор и разрыв строки) являются обрабатывается как один символ пробела:

для всех HTML-элементов, кроме PRE, последовательности пробелов разделяют " слова "(мы используем термин" слово "здесь, чтобы означать"последовательности небелых пробелов"). При форматировании текста агенты пользователей должны идентифицировать эти слова и раскладывать их в соответствии с соглашениями конкретного письменного языка (скрипта) и целевой носитель.

так

foo    bar

отображается как

foo bar

но без перерыва пространство всегда отображается. Так что

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

отображается как

foo   bar

Как уже упоминалось, вы не получите строки, где есть "неразрывный пробел".

также будьте осторожны, что элементы, содержащие только "" может отображаться неправильно, где будет работать. В т. е. 6 по крайней мере (насколько я помню, IE7 имеет ту же проблему), если у вас есть пустой элемент таблицы, он не будет применять стиль, например границы, к элементу, если нет содержимого или только пробел. Так что следующий не станет границы:

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

в то время как границы будут отображаться в этом примере:

<td>& nbsp;</td>

Хм-пришлось поставить в фиктивное пространство, чтобы заставить его правильно визуализировать здесь

Вы можете увидеть рабочий пример здесь:

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

и

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

тот же div, тот же текст, разные "пробелы"

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

vs

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

есть много различных типов пространств, таких как тонкое пространство, em пространство, не нарушая пространство... Джон Тан сделал запись наиболее распространенных из них в своем блоге.

первый не обрабатывается как пробел синтаксическим анализатором HTML,второй. В результате "" не гарантируется отображение в определенной разметке HTML, в то время как неразрывное пространство всегда будет отображаться.

@Zoidberg прав, пример:

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

не будет отображаться пространство между разметкой заголовка, с

& nbsp ; 

сделает пространство :)

&nbsp; должен обрабатываться как пробел.

&nbsp;&nbsp; должны обрабатываться как два пробела

' ' может обрабатываться как неинтересный пробел

' ' + ' 'можно обрабатывать как один''

при наличии разрывов строк линия не будет разрываться, когда вы используете $bnsp; потому что это "неразрывное пространство". Это может быть важно, если у вас есть определенные названия продуктов или такие, которые всегда должны быть написаны вместе.

может быть интересно, если вы (должны) использовать пробелы в качестве разделителя в числах, таких как 12344567, который отображается 12 344 567 во Франции. Без этого линия сломалась бы в середине числа, очень некрасиво. Тест:12 344 567

&nbsp; стекируется, что означает, что вы можете создать несколько пространств все вместе.

HTML будет анализировать только один пробел", и он отбрасывает остальные...

Если вы хотите пять пробелов, вы бы разместили 5 x &nbsp;