浏览器字体默认
说如果我将页面主体的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
作品:)
nope。它将默认为浏览器默认值。
答案很简单:没有
好问题。你正在谈论的功能被称为继承。从本质上讲,如果其用户的计算机上未安装其指定的字体系列,则子元素是否会继承父级的字体系列。
我找不到任何明确的文档,虽然this specification可能被认为意味着在这种情况下不会发生继承。因此,要确保,我测试了Firefox的最新的稳定版本有以下几点:
<body>
<p>Hello</p>
</body>
body {font-family: Arial;}
p {font-family: Quill;}
我没有安装奎尔,但我有宋体。但是,尽管如此,p元素却以默认的serif字体呈现,而不是Arial。
由于存在功能以这种方式,为了保证一致性,至少有一个主要的浏览器,你应该总是用这个来代替:
body {font-family: Arial;}
p {font-family: Quill, Arial;}
更多地考虑这一点,一个方法来解决,这将是允许以下内容:
p {font-family: Quill, inherit}
p {font-family: Quill, default}
第二条规则基本上是浏览器目前所做的,但只是隐含的。如果CSS允许我们明确指定最后一个属性,我们可以改变这种行为。不幸的是,这目前不起作用。任何人都知道如何向w3C提交建议?
+1进行测试。 – BoltClock 2010-09-08 09:49:18
谢谢。耻辱它的工作原理,会节省一些麻烦。 – Ryan 2010-09-08 09:43:55