[ font-family: <family-name> ] ||
[ src: [ <url> [ format(<string>#) ]? | <font-face-name> ]# ] ||
[ unicode-range: <urange># ] ||
[ font-variant: <font-variant> ] ||
[ font-feature-settings: normal | <feature-tag-value># ] ||
[ font-variation-settings: normal | [ <string> <number>] # ||
[ font-stretch: <font-stretch> ] ||
[ font-weight: <weight> ] ||
[ font-style: <style> ]
}
<family-name>就是家族体系名称,例如sans-serif无衬线字体。
取值font-family 这里指定的字体名字将会被用于font或font-family属性,在元素的使用字体的字体名称就是这里设定的。
src 远程字体文件位置的URL或者用户计算机上的字体名称, 可以使用local语法通过名称指定用户的本地计算机上的字体( 例如src: local('Arial'))。 如果找不到该字体,将会尝试其他来源,直到找到它。
font-variant 字态
font-stretch 字体描边.
font-weight 字重
font-style 对于src所指字体的描述。如果所需字体符合描述,则采用本font-face所定义的字体。
unicode-range在该@font-face中定义的unicode字体范围
例子:用到了用户本地字体"Helvetica Neue Bold"的备份;如果当前用户(浏览器)未安装该字体(两种可能的字体名都已经试过),就会用下载的字体"MgOpenModernaBold.ttf"来代替:
@font-face {font-family: MyHelvetica
src: local("Helvetica Neue Bold"), local("HelveticaNeue-Bold"), url(MgOpenModernaBold.ttf)
font-weight: bold
}
这其实是一个规避异常情况写法,因为浏览器默认会首先检测用户的系统字体是否有和 @font-face 声明的字体同名的字体,如果有就是优先使用系统字体,由于 @font-face 通常是开发者自定义生成的字体,可能和系统字体有差异,所以可以使用 src: local('☺') 来规避,因为 OpenType 协议规定字体名字中含有双字节 unicode 字符会被视作非法,所以这个笑脸就是用来让浏览器不匹配到任何系统字体,从而规避 @font-face 字体可能和系统字体重名而造成的问题CSS中可以使用font-face属性即可实现调用任何外部等特殊字体。
font-face属性介绍及其实例:
对浏览器的支持:
Firefox、Chrome、Safari 以及 Opera 支持 .ttf (True Type Fonts) 和 .otf (OpenType Fonts) 类型的字体。
Internet Explorer 9+ 支持新的 font-face 规则,但是仅支持 .eot 类型的字体 (Embedded OpenType)。
使用您需要的字体。
在新的 font-face 规则中,您必须首先定义字体的名称(比如 myFirstFont),然后指向该字体文件。
如需为 HTML 元素使用字体,请通过 font-family 属性来引用字体的名称 (myFirstFont):
使用粗体字体。
您必须为粗体文本添加另一个包含描述符的 @font-face。
文件 "aa.ttf" 是另一个字体文件,它包含了 Sansation 字体的粗体字符。
只要 font-family 为 "myFirstFont" 的文本需要显示为粗体,浏览器就会使用该字体。
通过这种方式,我们可以为相同的字体设置许多 @font-face 规则。
实际案例:
案例1: <style>@font-face
{
font-family: myFirstFont
src: url('aa.ttf'),
url('aa.eot') /* IE9+,可以是具体的实际链接 */
}
div
{
font-family:myFirstFont
}
</style> 案例2: @font-face
{
font-family: myFirstFont
src: url('aa.ttf'),
url('aa.eot') /* IE9+ */
font-weight:bold
}
注意事项:
A、Internet Explorer 8 以及更早的版本不支持新的 font-face 规则。
B、代码中注意负符号,均为英文状态下。
C、字体文件格式必须添加后缀,且链接中必须带后缀。