Так что окончательного решения пока нет. По словам техподдержки, это известная проблема, которая изучается. Окончательное решение в настоящее время не определено. Если у вас возникла похожая проблема, просто повесьте трубку. URL: http://youtrack.jetbrains.net/issue/RSRP-178681
Причина, по которой он был изобретен, заключалась в том, чтобы предотвратить разрывы строк (на самом деле это акроним «неразрывный пробел»), однако он устарел: вы должны использовать «white-space: nowrap;» Атрибут CSS.
Что бы вы ни делали, НИКОГДА не используйте его для отступа или в качестве «разделителя», например, между ячейками таблицы.
<p>Hello to you</p>
Эквивалентно предпочтительной форме
<p style="white-space: nowrap">Hello to you</p>
Поскольку вы пометили свой вопрос с помощью «XHTML», ответ будет «это зависит ».
Если вы обслуживаете свои документы XHMTL как XML, тогда Firefox не будет читать объекты из файла DTD. Как следствие, он не распознает именованные объекты, такие как & nbsp;
. Однако это редкий случай, потому что документы XHTML обычно обслуживаются как HTML для поддержки браузеров, не поддерживающих (= MSIE).
Тем не менее, «оставлять пробелы» - довольно расплывчатый термин. Вы должны использовать CSS для позиционирования ваших элементов и вставки отступов в текст (кроме исходного кода внутри тега
). Никогда не используйте пробелы для форматирования (то же самое верно в приложениях для обработки текста). Это неприемлемо семантически, и это испортит ваш макет, как только пользователи включат некоторые пользовательские настройки в своих браузерах. Неразрывные пробелы должны использоваться только, как указывает название, для предотвращения разрыва между вещами, принадлежащими одной строке, например, названием продукта и номером версии продукта: например, «
Ubuntu 10 & nbsp; 9.10
» , либо внутри телефонного номера, либо в формулах.
Ubuntu 10 & nbsp; 9.10
» , либо внутри телефонного номера, либо в формулах. Никогда не используйте пробелы для форматирования (то же самое верно в приложениях для обработки текста). Это неприемлемо семантически, и это испортит ваш макет, как только пользователи включат некоторые пользовательские настройки в своих браузерах. Неразрывные пробелы должны использоваться только, как указывает название, для предотвращения разрыва между вещами, принадлежащими одной строке, например, названием продукта и номером версии продукта: например, « Ubuntu 10 & nbsp; 9.10
» , либо внутри телефонного номера, либо в формулах. Конечно, а почему бы и нет? В случае вроде $ & nbsp; 10
, чтобы предотвратить разрыв строки между $ и 10, это вполне приемлемо.
Только не используйте & nbsp;
для вещей он не предназначен, например, для отступов.
& nbsp;
означает неразрывный пробел и представляет собой простую ссылку на символьную сущность . Они разрешены в любом тексте в HTML семантически.