В каких операционных системах или браузерах имена семейств шрифтов CSS чувствительны к регистру

StackOverflow https://stackoverflow.com/questions/1602586

Вопрос

Согласно точка расположения (источник, которому я обычно очень доверяю) при указании font-family называет некоторые Операционные системы / Браузеры мочь быть чувствителен к регистру.

Обычно я всегда использовал значения со смешанным регистром, но мне интересно, будут ли значения в нижнем регистре работать точно так же?

В любом случае у меня нет подавляющего предпочтения, но я бы не хотел, чтобы страница отображалась по-другому, потому что я ввел строчный "v" против. "V" где-то в CSS-файле.

например ,есть ли какие-либо известные случаи, когда 2 divs с foo и bar классы, приведенные ниже, на самом деле будут отображаться другим шрифтом?

div.foo{
  font-family:Verdana, Arial, Helvetica;
}

div.bar{
  font-family:verdana, arial, helvetica;
}
Это было полезно?

Решение

Мой догадываюсь заключается в том, что это было бы потенциальной проблемой только в системах Linux / Unix, где файловая система чувствительна к регистру.Я был бы удивлен, если бы у какого-либо браузера Windows возникла проблема с этим, поскольку шрифты - это просто файлы в каталоге C:\Windows\Fonts.

Вы могли бы попробовать создать страницу с тестовым текстом узнаваемым шрифтом, например Courier New, но произносите его забавно, как "CoUrIEr nEW", затем перейдите на http://browsershots.org/ где он будет генерировать скриншоты из множества браузеров.Не забудьте также сделать шрифт очень крупным, потому что скриншоты маленькие.

Что- то вроде этого:

<html>
<head>
<style type="text/css">
#proper   { font: bold 48px "Courier New",Courier; }
#improper { font: bold 48px "CoUrIEr nEW",CoUrIEr; }
</style>
</head>
<body>
<p id="proper">Test1 - proper caps</p>
<p id="improper">Test2 - improper caps</p>
</body>
</html>

Если только один строка отображается в Courier, тогда этот браузер чувствителен к регистру.


Редактировать:Я протестировал HTML, который разместил выше, в browsershots.Я не нашел ни одного браузера, который не работал бы.Dillo 2.1.1 для Ubuntu Linux не понравилась ни одна строка (возможно, в этой системе отсутствовали как Courier New, так и Courier?), все остальные отображали обе строки в Courier или Courier New.Однако все еще существуют мобильные браузеры, которые не были протестированы, поэтому вам следует на всякий случай использовать правильные заглавные буквы.

Другие советы

Хотя в Обзор синтаксиса CSS говорит

Всегда соблюдаются следующие правила:Все таблицы стилей CSS не чувствительны к регистру, за исключением частей, которые не находятся под контролем CSS.Например, чувствительность к регистру значений HTML-атрибутов "id" и "class", из названия шрифтов, и из URIS выходит за рамки данной спецификации.Обратите особое внимание, что имена элементов не чувствительны к регистру в HTML, но чувствительны к регистру в XML.

В css3-модуль шрифтов раздел предписывает сравнение без учета регистра:

Для других семейств имен агент пользователя пытается найти семейное имя среди шрифтов, определенных с помощью правил @font-face, а затем среди доступных системных шрифтов, соответствующих именам с нечувствительным к регистру сравнением.

таким образом, спецификация CSS3 требует, чтобы имена шрифтов обрабатывались без учета регистра.

У этого парня, похоже, проблемы при использовании flex, так что, похоже, в этом есть доля правды:

При использовании CSS в Flex в стиле компоненты, шрифт-семейства собственность можете быть чувствительны к регистру, на некоторых операционные системы.Например, следующий CSS не будет работать в моем браузере Safari с Flash Player 10:

.content{font-family: arial;}

но это сработает:

.content{font-family: Arial;}

Источник

Также взгляните на эту страницу, которую вы можете использовать, чтобы проверить это в ваших собственных браузерах / ОС:

http://meyerweb.com/eric/css/tests/font-name-case-test.html

Действительно, хороший вопрос.Лично я не слышал о каких-либо проблемах, которые как-то связаны с чувствительностью к регистру.

О чем вам следует беспокоиться больше, так это о присутствии этих шрифтов в различных системах.Verdana и Arial недоступны на Mac.Helvetica недоступна в Windows.Вы определили два набора с нулевой областью пересечения в измерениях Win / Mac.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top