Символ UTF-8 в CSS

Я использую html-шаблон, содержащий ползунок (ползунок революции — https://revolution.themepunch.com/)

У него есть стрелки вправо и влево для навигации, которые используют следующее:

.tp-rightarrow.preview4:after { content: '\E824'; }
.tp-leftarrow.preview4:after { content: '\E825'; }

Это отлично работает локально, но когда я загрузил как часть сайта Umbraco, две стрелки изменились на китайские символы. Когда я погуглил, я нашел следующее -

http://www.utf8icons.com/character/59429/UTF-8-символ

Теперь я изменил CSS для отображения символов > и ‹, но я хотел бы знать, почему исходный код иногда отображает стрелки, а иногда отображает китайские символы.

Спасибо.


person Martin McMahon    schedule 22.06.2016    source источник
comment
Есть ли в вашем HTML-документе мета-кодировка? Его также можно установить через заголовок PHP. Вы можете включить кодировку в сам файл CSS, используя @charset "UTF-8";   -  person Aziz    schedule 22.06.2016
comment
@Aziz Поскольку в этой нотации CSS используются чистые символы ASCII, кодировки здесь не играют никакой роли.   -  person deceze♦    schedule 22.06.2016


Ответы (1)


U+E824 и ..25 — это кодовые точки в зоне личного использования. Кодовые точки в этой области не зарезервированы, они не имеют заранее определенного значения. Они не определяются ни как китайские иероглифы, ни как стрелки. Вы можете использовать любую кодовую точку для частного использования в любых целях, если издатель и клиент согласны с тем, что означают эти кодовые точки.

В браузере это в значительной степени сводится к установке/загрузке/определению правильных шрифтов. На веб-странице каждый символ просто отображается первым определенным/ответственным шрифтом, который содержит глиф для этой кодовой точки. Поэтому причина, по которой он отображается по-разному в двух разных системах / средах, может быть связана только с тем, что определения шрифтов CSS различаются или что в браузере установлены разные шрифты.

Скорее всего, оригинал включал специальный веб-шрифт, который определял эти символы как стрелки. Вы либо пропустили этот шрифт, либо переопределили приоритет шрифта и применили к этому элементу другой шрифт, и этот шрифт определяет китайские символы в этих кодовых точках.

person deceze♦    schedule 22.06.2016