Для полноты: фактический символ длинного тире («mdash»): - и должен быть такой же ширины, как буква «m»
Саймон Б.
6
да, заглавная М
Рэй Тайек
Ответы:
85
Парсеры SGML (или анализаторы XML в случае XHTML) могут обрабатывать —без необходимости обрабатывать DTD (что не имеет значения для браузеров, поскольку они просто поглощают суп из тегов), в то время как— как людям легче читать и писать в исходном коде.
Лично я бы придерживался буквального длинного тире и следил за тем, чтобы мои настройки кодировки символов были согласованы.
За исключением ошибок браузера, они будут отображаться одинаково во всех случаях, поэтому единственная разница будет касаться читабельности кода, на который будет указывать —.
Или, если вы используете UTF-8 в качестве кодировки в своем HTML-документе, вы можете ввести символ напрямую. Это тоже будет отображаться точно так же.
Обратите внимание, что это верно только для HTML, в XML &8212;всегда работает, тогда как —зависит от объявления объекта.
Flimm
10
—:: —::\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:
lettext='JSX transcoders will preserve the & character\u2014to …'
В целях переносимости ссылки на объекты Unicode должны быть зарезервированы для использования в документах, которые должны быть написаны в наборах символов UTF-8 или UTF-16. Во всех остальных случаях следует использовать буквенно-цифровые ссылки.
Перевод: если вы ищете самую широкую поддержку, выберите —
Может быть, использование цифрового кода более универсально, поскольку это прямая ссылка на символ в таблице сущностей html, но я думаю, что они оба работают везде. Первое обозначение намного легче запомнить для многих персонажей.
Ответы:
Парсеры 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, используемые для типографики
Перевод: если вы ищете самую широкую поддержку, выберите
—
источник
Может быть, использование цифрового кода более универсально, поскольку это прямая ссылка на символ в таблице сущностей html, но я думаю, что они оба работают везде. Первое обозначение намного легче запомнить для многих персонажей.
источник