Зачем нужны имена шрифтов?

Насколько мне известно, для шрифтов нужно использовать двойные или одинарные кавычки, если они содержат пробелы, например:

font-family: "Times New Roman", Times; 
font-family: 'Times New Roman', Times;

Но в Google Fonts (http://www.google.com/webfont) я также вижу

font-family: 'Margarine', cursive;

Некоторые даже используют его так:

font-family: 'Margarine', 'Helvetica', arial;

Я нахожу это странным, как работает следующее:

font-family: Arial, Helvetica, sans-serif;
font-family: Cambria, serif;

Итак, каково правильное использование котировок вокруг имен шрифтов в CSS?

Ответ 1

Вы всегда можете помещать определенное семейное имя шрифта в кавычки, двойные или одиночные, поэтому Arial, "Arial" и 'Arial' эквивалентны. Только CSS-определенные общие имена семейств шрифтов, такие как sans-serif должны быть записаны без кавычек.

Вопреки распространенному мнению, имя шрифта, состоящее из имен, разделенных пробелами, таких как Times New Roman не обязательно цитируется. Однако спецификация рекомендует "указывать имена семейств шрифтов, которые содержат пробелы, цифры или знаки пунктуации, отличные от дефисов"

Ответ 2

Я только что узнал, что цитаты не нужны, а скорее рекомендуются. Каждый день мы все узнаем что-то новое.

Другое место, где вы их видите, - это свойства css, для которых требуется URL-адрес

background:url('hithere.jpg');
background:url(hithere.jpg);

Оба эти заявления будут работать точно так же. То же самое касается шрифтов, какой тип цитаты, который вы используете, в данном случае не имеет значения, просто будьте последовательны в том, как вы делаете что-то, и это все, что действительно имеет значение.

Ответ 3

По двум причинам;

  1. Когда фактическое имя семейства шрифтов имеет то же имя, что и общее семейное имя, во избежание путаницы с ключевыми словами с одинаковыми именами, например

p {font-family: 'Shift', sans-serif;}

  1. Если в имени шрифта есть несколько слов, например,

p {font-family: 'Times New Roman',....., a generic family name here ;}

Ответ 4

Вы должны использовать кавычки, когда в названии шрифта есть пробел. Если в названии шрифта нет места, лучше всего оставить их, хотя это не повредит ничего, кроме вашего размера файла, чтобы они были все еще.

Примеры:

font-family: "Times New Roman", Times; // ok, and best practice
font-family: Times New Roman, Times; // incorrect, Browser won't be able to find Times New Roman
font-family: "Times New Roman", "Times"; // ok, but has extraneous quotes around Times