Использование кавычек

В предыдущем примере вы могли заметить одиночные кавычки, которые не встречались ранее. Кавычки нужны в объявлении свойства font-family, только если в имени шрифта имеются пробелы, как, например, в New York, или если имя шрифта включает такие символы, как # или $. В обоих случаях все имя шрифта должно быть взято в кавычки, чтобы агент пользователя мог правильно определить, где начинается и где кончается имя. (Может показаться, что достаточно было бы и запятых, но это не так.) Таким образом, шрифт под названием Karrank% должен быть взят в кавычки:

h2 {font-family: Wedgie, 'Karrank%', Klingon, fantasy;}

Если опустить кавычки, то агенты пользователя могут проигнорировать это имя шрифта, хотя все остальное правило будет обработано. Обратите внимание, что в спецификации CSS2.1 нет требования заключать в кавычки имя шрифта, содержащего символ. Но есть рекомендация, близкая к описанию «лучших практик». Точно так же рекомендуется брать в кавычки имя шрифта, содержащее пробелы. Как выясняется, единственное обязательное требование состоит в том, что надо брать в кавычки имя шрифта, если оно совпадает с зарезервированными ключевыми словами. Таким образом, желая предусмотреть шрифт с именем «cursive», надо взять его в кавычки.


Очевидно, что имена шрифтов, состоящие из одного слова (которое не конфликтует ни с одним из ключевых слов font-family), не надо брать в кавычки, также никогда не берутся в кавычки базовые имена шрифтов (serif, monospace и т. д.), если они ссылаются на реальные базовые семейства. Если заключить в кавычки базовое имя, то агент пользователя сочтет, что указан конкретный шрифт с таким именем (например, «serif»), а не базовое семейство.

Что касается вида кавычек, то допускаются и одиночные, и двойные. Помните, что если правило font-family помещается в атрибут style, то кавычки должны отличаться от тех, в которые взято имя самого атрибута. Поэтому если правило font-family заключено в двойные кавычки, то в самом правиле кавычки должны быть одиночными, как в следующей разметке:

p {font-family: sans-serif;} /* в абзацах по умолчанию применяется
рубленый шрифт */

...