—
или же —
Есть ли между ними разница? Один поддерживается лучше, чем другой?
—
или же —
Есть ли между ними разница? Один поддерживается лучше, чем другой?
Ответы:
Парсеры SGML (или анализаторы XML в случае XHTML) могут обрабатывать —
без необходимости обрабатывать DTD (что не имеет значения для браузеров, поскольку они просто поглощают суп из тегов), в то время как—
как людям легче читать и писать в исходном коде.
Лично я бы придерживался буквального длинного тире и следил за тем, чтобы мои настройки кодировки символов были согласованы.
Они точно такие же персонажи. См .: http://en.wikipedia.org/wiki/Dash
За исключением ошибок браузера, они будут отображаться одинаково во всех случаях, поэтому единственная разница будет касаться читабельности кода, на который будет указывать —
.
Или, если вы используете UTF-8 в качестве кодировки в своем HTML-документе, вы можете ввести символ напрямую. Это тоже будет отображаться точно так же.
&8212;
всегда работает, тогда как —
зависит от объявления объекта.
—
:: —
::\u2014
При представлении m-тире в текстовой строке JavaScript для вывода в HTML обратите внимание, что он будет представлен своим значением Unicode. Бывают случаи, когда символы амперсанда ('&') не разрешаются, особенно в некоторых контекстах в JSX. В этом случае ни то, —
ни другое —
работать не будет. Вместо этого вам нужно использовать управляющую последовательность 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—to protect from possible script hacking and cross-site hacks.</div>
Вместо представления с &
префиксом - вы должны использовать \ u2014:
let text='JSX transcoders will preserve the & character\u2014to …'
С веб-сайта W3 Общие элементы HTML, используемые для типографики
В целях переносимости ссылки на объекты Unicode должны быть зарезервированы для использования в документах, которые должны быть написаны в наборах символов UTF-8 или UTF-16. Во всех остальных случаях следует использовать буквенно-цифровые ссылки.
Перевод: если вы ищете самую широкую поддержку, выберите —