Шрифт браузера по умолчанию - PullRequest
       33

Шрифт браузера по умолчанию

3 голосов
/ 08 сентября 2010

Скажите, если я установлю font-family для тела страницы на font1, font2, font3, а затем я установлю font family тега *1003* на font4, font5.Если шрифт 4 и 5 не был установлен, будет ли браузер использовать шрифт 1,2 и 3, прежде чем использовать шрифт браузера по умолчанию?

Ответы [ 3 ]

5 голосов
/ 08 сентября 2010

Нет, поскольку при указании font-family стек шрифтов не наследуется от родительского элемента, а затем добавляется в. Вы даете ему новый собственный набор шрифтов, отдельный от родительского элемента.

Если вы хотите, чтобы браузер использовал первые три шрифта для <h1>, вам необходимо указать следующее:

body { font-family: font1, font2, font3; }
h1 { font-family: font4, font5, font1, font2, font3; }

Утомительно, но так работает CSS font-family :)

4 голосов
/ 08 сентября 2010

Краткий ответ: Нет

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

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

<body>
    <p>Hello</p>
</body>

body {font-family: Arial;}
p {font-family: Quill;}

У меня не установлено Quill, но у меня есть Arial. Однако, несмотря на это, элемент p отображается шрифтом с засечками по умолчанию, а не в Arial.

Поскольку существует хотя бы один крупный браузер, который функционирует таким образом, для обеспечения согласованности всегда следует использовать вместо него:

body {font-family: Arial;}
p {font-family: Quill, Arial;}

Если подумать подробнее, один из способов исправить это - разрешить следующее:

p {font-family: Quill, inherit}
p {font-family: Quill, default}

Второе правило по сути то, что делают браузеры в данный момент, но только неявно. Если CSS позволяет нам явно указывать последнее свойство, мы можем изменить это поведение. К сожалению, это не работает в настоящее время. Кто-нибудь знает, как подавать предложения на w3C?

2 голосов
/ 08 сентября 2010

Нету.по умолчанию используется браузер по умолчанию.

...