Почему браузеры отображаются как обычный символ пробела? - PullRequest
5 голосов
/ 22 июля 2011

Рассмотрим следующий фрагмент HTML:

<p>Space&nbsp;Test</p>

Когда этот HTML-код используется на веб-странице и странице, отображаемой браузером, символ, фактически отображаемый браузером между «Пробел» и «Тест», является обычным пробелом (U + 0020), а не символ пробела (U + 00A0).

(Это можно наблюдать, например, с помощью расширения Firefox Идентификатор символа .)

Я пробовал это в Firefox 5, Internet Explorer 8 и Chrome 12; все они одинаково записывали U + 0020 вместо U + 00A0 на отображаемой веб-странице, хотя исходный документ содержал &nbsp;, а не обычный пробел.

Почему браузеры отображают обычный символ пробела вместо неразрывного символа пробела таким образом?

1 Ответ

4 голосов
/ 22 июля 2011

Это пережиток времен до Юникода, когда символ NBSP не существовал в стандартном наборе символов.HTML определил escape-последовательность &nbsp; как просто пробел, который не должен вызывать перенос слов.

...