Подтвердить что ты не робот

`—` или `-` есть ли разница в выходе HTML?

— или —

Есть ли разница между ними? Поддерживается ли одна из них лучше, чем другая?

4b9b3361

Ответ 1

Синтаксические анализаторы SGML (или синтаксические анализаторы XML в случае XHTML) могут обрабатывать — без обработки DTD (что не имеет значения для браузеров, поскольку они просто суп-тег-суп), тогда как — легче для людей для чтения и записи в исходном коде.

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

Ответ 2

Они точно такие же. См.: http://en.wikipedia.org/wiki/Dash

Запрет ошибок браузера будет отображаться одинаково во всех случаях, поэтому разница будет только в отношении читаемости кода, которая будет указывать на —.

Или, если вы используете UTF-8 в качестве кодировки в своем HTML-документе, вы можете ввести символ напрямую. Это также будет отображаться точно так же.

Ответ 3

— :: — :: \u2014

Представляя m-dash в текстовой строке JavaScript для вывода в HTML, обратите внимание, что она будет представлена значением Unicode. Существуют случаи, когда символы амперсанда ('& amp;') не будут разрешены, особенно в определенных контекстах в JSX. В этом случае ни —, ни — не будут работать. Вместо этого вам нужно использовать escape-последовательность Unicode: \u2014.

Например, при реализации метода render() для вывода текста из переменной JavaScript:

render() {
   let text='JSX transcoders will preserve the & character—to ' 
            + 'protect from possible script hacking and cross-site hacks.'
   return (
     <div>{text}</div>
   )
}

Это выведет:

<div>JSX transcoders will preserve the & character&mdash;to protect from possible script hacking and cross-site hacks.</div>

Вместо представления с префиксом & следует использовать \u2014:

let text='JSX transcoders will preserve the & character\u2014to …'

Ответ 4

С веб-сайта W3 Общие объекты HTML, используемые для типографии

Для переносимости ссылки на объекты Unicode должны быть зарезервированы для использования в документах, которые должны быть записаны в наборах символов UTF-8 или UTF-16. Во всех остальных случаях следует использовать буквенно-цифровые ссылки.

Перевод: если вы ищете самую широкую поддержку, перейдите к &mdash;

Ответ 5

Может быть, использование кода с цифрами является более универсальным, поскольку это прямая ссылка на символ в таблице сущностей html, но я думаю, что они оба работают повсюду. Первое обозначение просто легче запомнить для множества символов.