Нужно ли обертывать кавычки вокруг фамилий шрифтов в CSS?
Я помню, как давно слышал, что считалось "лучшей практикой" обертывать кавычки вокруг имен шрифтов, содержащих несколько слов в свойстве семейства шрифтов CSS, например:
font-family: "Arial Narrow", Arial, Helvetica, sans-serif;
черт возьми, я попытался удалить кавычки из "Arial Narrow"
и Safari и Firefox не имеют никаких проблем с его рендерингом.
3 ответа:
The CSS 2.1 spec говорит нам, что:
имена семейств шрифтов должны быть либо в кавычках, либо без кавычек как последовательность одного или нескольких идентификаторов. Это означает, что большинство знаков препинания символы и цифры в начале каждого токена должны быть экранированы некотируемые фамилии шрифтов.
Он говорит:
Если последовательность идентификаторов задана как имя семейства шрифтов, то вычисленное значение имя преобразуется в строку путем объединения всех идентификаторы в последовательности по одиночным пробелам.
чтобы избежать ошибок в экранировании, рекомендуется цитировать семейство шрифтов имена, содержащие пробелы, цифры или знаки препинания кроме дефисов:
Так что да, есть разница, но вряд ли вызовет какие-либо проблемы. Лично я всегда цитировал имена шрифтов, когда они содержат пробелы. В нескольких (предположительно очень редких) случаях котировки являются абсолютно необходимо:
имена семейств шрифтов, которые совпадают со значением ключевого слова ("наследовать", "засечка", "без засечек", "моноширинное", "фантазия" и 'cursive') должны быть процитированы, чтобы предотвратить путаницу с ключевыми словами с такое же имя. Ключевые слова 'initial ' и' default ' зарезервированы для будущего использования, а также должны быть указаны при использовании в качестве имени шрифта.
Также обратите внимание, что знаки препинания, такие как / или ! в пределах идентификатора также может нужно для цитирования или экранирования.
по словам CSS Fonts Module Level 3 spec октября 2013 года,"имена семейств шрифтов, отличные от общих семейств, должны быть либо заключены в кавычки в виде строк, либо не заключены в кавычки в виде последовательности одного или нескольких идентификаторов". поэтому вам не нужно заключать их в кавычки.
однако, если вы этого не сделаете "большинство знаков препинания и цифр в начале каждого маркера должны быть экранированы". чтобы избежать ошибок, W3C на самом деле рекомендует цитировать фамилии шрифтов, содержащие пробелы, цифры, знаки препинания или значения ключевых слов ('наследовать', 'засечки' и др.).
родовые имена семейства шрифтов (’serif‘,’ sans-serif‘,’ cursive‘,’ fantasy ‘и’ monospace') не должны цитироваться, поскольку они на самом деле являются ключевыми словами.
Если стиль встроен, например
<font style="font-family:Arial Narrow">some texte</font>
, это работает.но если имя шрифта police содержит некоторые специальные символы, или начинается с числа содержит кавычки или другие странные вещи (например, "01 Digitall" или "a_CityNovaTitulB&WLt" или "Bailey'SCAR"), вы должны использовать специальный синтаксис с ", который может быть применен ко всем видам своих шрифтов имена:
<font style="font-family:"a_CityNovaTitulB&WLt" , "Bailey'sCar"">some text</font>
в FireFox,источник покажет " как это: "
без этого трюка, это:
<font style="font-family:a_CityNovaTitulB&WLt ,Bailey'sCar">some text</font>
не работает автоматически в любом браузере. Это полезно для имени шрифта ведьма начать с числа, как "8 Pin".