真正了解CSS3背景下的@font face规则

2020-05-10 11:22:45易采站长站整理

于是乎,那些安装了“方正粗雅宋”这个字体的用户,就没有任何字体文件请求。加载更快了,用户体验上升了,还省了流量,如此百益无一害的事情,还不妥妥的用起来。

font-style

在Chrome浏览器下, @font face 规则设置 font-style:italic 可以让文字倾斜,但是这并不是其作用所在。

@font face 
规则中的
 font-style 
 font-weight 
类似,都是用来设置对应字体样式或自重下该使用什么字体。因为有些字体可能会有专门的斜体字,注意这个斜体字,并不是让文字的形状倾斜,而是专门设计的倾斜的字体,很多细节会跟物理上的请求不一样。于是,我在CSS代码中使用
 font-style:italic
的时候,就会调用这个对应字体,如下示意:


@font-face {
font-family: 'I';
font-style: normal;
src: local('FZYaoti');
}
@font-face {
font-family: 'I';
font-style: italic;
src: local('FZShuTi');
}

由于专门的斜体字不太好找,所以我使用“方正姚体”和“方正舒体”代替做示意。上面CSS代码我解读一下:制定一个字体,名叫

'I' 
,当文字样式正常的时候,字体表现使用“方正姚体”,当文字设置了
font-style:italic
的时候,字体表现为“方正舒体”。

好,现在假设有下面这样的CSS和HTML:


.i {
font-family: I;
}


<p><i class="i">类名是i,标签是i</i></p>
<p><span class="i">类名是i, 标签是span</span></p>

请问最终的表现是怎样的?

由于 <i> 标签天然 font-style:italic ,因此理论上,上面一行文字表现为“方正舒体”,下面一行为“方正姚体”,最终结果是如何呢?

当当当当,完全符合,如下截图:

这下大家应该明白, @font face 规则中的 font-style 是干嘛用的了吧。

font-weight

font-weight 
 font-style 
类似,不过是定义了不同字重使用不同字体,对于中午而言,这个要比
 font-style 
适用性强很多。我这里就有一个非常具有代表性的例子,版权字体“汉仪旗黑”自重非常丰富,但是这个字体不像“思源黑体”,天然可以根据