使用变体配置字体

时间:2017-01-26 11:52:58

标签: css fonts font-face true-type-fonts

是否可以将可下载的TTF字体配置为与系统字体相同的方式,即:

  • 字体系列存储在多个文件中:

    • foo.ttf
    • foob.ttf
    • fooi.ttf
  • 为字体分配通用系列名称:

    p{
        font-family: Foo, serif;
    }
    
  • 浏览器会自动选择适当的变体:

    p.warning{
        font-weight: bold;
    }
    p.note{
        font-style: italic;
    }
    

我浏览的文档表明您需要将每个变体配置为完全不同的字体:

@font-face{ 
    font-family: FooRegular; 
    src: url(foo.ttf);
    font-weight: normal;
    font-style: normal;
} 
@font-face{ 
    font-family: FooBold; 
    src: url(foob.ttf);
    font-weight: bold;
    font-style: normal;
} 
@font-face{ 
    font-family: FooItalic; 
    src: url(fooi.ttf);
    font-weight: normal;
    font-style: italic;
}
p{
    font-family: FooRegular, serif;
}
p.warning{
    font-family: FooBold, serif;
    font-weight: bold;
}
p.note{
    font-family: FooItalic, serif;
    font-style: italic;
}

它是这样的,还是我只是浏览已弃用/不完整的文档?

2 个答案:

答案 0 :(得分:0)

它应该是这样的:

    @font-face{ 
    font-family: Foo; 
    src: url(foo.ttf);
    font-weight: normal;
    font-style: normal;
} 
@font-face{ 
    font-family: Foo; 
    src: url(foob.ttf);
    font-weight: bold;
    font-style: normal;
} 
@font-face{ 
    font-family: Foo; 
    src: url('fooi.ttf');
    font-weight: normal;
    font-style: italic;
}
p{
    font-family: Foo;
}
p.warning{
    font-family: FooBold, serif;
    font-weight: bold;
}
p.note{
    font-family: FooBold, serif;
    font-style: italic;
}

这样就可以将样式添加到同一个字体系列中。

答案 1 :(得分:0)

许多教程忽略的事实是,您只需使用单个系列名称并将其分配给所有规则:

@font-face{ 
    font-family: Foo; /* Just one name */
    src: url(foo.ttf);
    font-weight: normal;
    font-style: normal;
} 
@font-face{ 
    font-family: Foo; /* Just one name */ 
    src: url(foob.ttf);
    font-weight: bold;
    font-style: normal;
} 
@font-face{ 
    font-family: Foo; /* Just one name */
    src: url(fooi.ttf);
    font-weight: normal;
    font-style: italic;
}

...因此您需要的所有CSS都是:

p{
    font-family: Foo, serif;
              /* ^^^ */
}
p.warning{
    font-weight: bold;
}
p.note{
    font-style: italic;
}

信息的信用转到@duvigneau