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

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

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

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

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

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

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

div.bar{
  font-family:verdana, arial, helvetica;
}
4b9b3361

Ответ 1

Я предполагаю, что это будет только потенциальной проблемой для систем 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-код, опубликованный выше в браузерах. Я не нашел браузер, который не работал. Dillo 2.1.1 для Ubuntu Linux не понравилась ни одна строка (возможно, в этой системе не было и Courier New, и Courier?), Все остальные отображали обе строки в Courier или Courier New. Тем не менее, есть мобильные браузеры, которые не были протестированы, поэтому вы должны стремиться использовать надлежащую капитализацию на всякий случай.

Ответ 2

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

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

Раздел css3-fonts module указывает на нечувствительность к регистру:

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

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

Ответ 3

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

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

.content{font-family: arial;}

но это будет работать:

.content{font-family: arial;}

Источник

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

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

Ответ 4

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

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