@ font-face有多个font-families

时间:2014-03-25 17:32:57

标签: html css css3 fonts font-face

我们将网站上的字体从FontA更改为FontB。看起来很简单。问题是FontA在任何地方都是硬编码的,甚至在我们无法轻易访问的地方(我们从外部数据库中提取的内容都有这种字体硬编码等)。我想做的是这样的事情:

@font-face {
    font-family: 'FontB', 'FontA';
    src: url('fontB.eot');
    src: url('fontB.eot?#iefix') format('embedded-opentype'),
         url('fontB.woff') format('woff'),
         url('fontB.ttf') format('truetype'),
         url('fontB.svg#fontB') format('svg');
    font-weight: normal;
    font-style: normal;   
}

因此FontAFontB都使用相同的字体。这样,使用FontA的所有旧版硬编码内容将开始使用FontB,而将来所有内容都只会使用FontB。宣布多个font-family合法且有效吗?对于使用@font-face的浏览器,它是否可以跨浏览器工作?如果这不起作用,我可以宣布两个@font-face,所以这不是一个大问题。我只是想知道它是否可能。

1 个答案:

答案 0 :(得分:1)

不幸的是,您必须处理两个单独的重复@font-face规则。 font-family描述符的语法与font-family属性does not permit more than one family不同,因此您的语法无效。

尝试在两个声明中指定它只是causes the latter to override the former,就像你在样式规则中所期望的那样,意味着以下内容:

@font-face {
    font-family: 'FontA';
    font-family: 'FontB';
    ...

相当于:

@font-face {
    font-family: 'FontB';
    ...