浏览器字体默认

假如我将页面主体的
font-family
设置为font1,font2,font3,然后将
h1
标签的
font family
设置为font4,font5。如果没有安装字体4和5,浏览器会在使用浏览器默认字体之前尝试字体1,2和3吗?     
已邀请:
不,因为当您指定
font-family
时,字体堆栈不会从父元素继承而是添加到。你给它一个全新的自己的字体堆栈,与它的父元素分开。 如果您希望浏览器使用
<h1>
的前三种字体,则需要指定:
body { font-family: font1, font2, font3; }
h1 { font-family: font4, font5, font1, font2, font3; }
单调乏味,但这就是CSS
font-family
的工作原理:)     
简答:不 好问题。您正在谈论的功能称为继承。基本上,如果子元素未在用户的计算机上安装自己指定的font-family,那么它是否会继承父类的font-family。 我找不到任何明确的文档,尽管这个规范可以理解为在这种情况下不会发生继承。因此,为了确保,我测试了最新稳定版本的Firefox,具体如下:
<body>
    <p>Hello</p>
</body>

body {font-family: Arial;}
p {font-family: Quill;}
我没有安装Quill,但我确实有Arial。但是,尽管如此,p元素仍以默认的serif字体呈现,而不是Arial中。 由于至少有一个主要的浏览器以这种方式运行,为了确保一致性,你应该总是使用它:
body {font-family: Arial;}
p {font-family: Quill, Arial;}
更多地考虑这个,解决这个问题的一种方法是允许以下内容:
p {font-family: Quill, inherit}
p {font-family: Quill, default}
第二条规则基本上是浏览器目前所做的,但只是隐含的。如果CSS允许我们明确指定最后一个属性,我们可以改变这种行为。不幸的是,目前这不起作用。有人知道如何向w3C提交建议吗?     
不。它将默认为浏览器默认值。     

要回复问题请先登录注册