关于 font-weight 的一些姿势

2,428 阅读2分钟

简介

font-weight 是css中用来指定文字粗细的属性。

font-weight 的取值

font-weight 的值有两种,一种是数值 100 到 900 之间的整百,还有一种是描述性的单词分别有 normalboldlighter 以及 bolder。其默认值是 normal

值得含义

  1. 数值 100 到 900 含义很明显就是对应着文字从细到粗的各个等级。
  2. normalbold 是两个定量指定文字粗细的值,其中 normal 等价于400,bold 等价于700。
  3. lighterbolder 这两个值稍微复杂一点,它们是一个相对的值,相对于父元素的字体粗细来计算当前字体的粗细,对应关系如下:
父元素值 bloder lighter
100 400 100
200 400 100
300 400 100
400 700 100
500 700 100
600 900 400
700 900 400
800 900 700
900 900 700

字体匹配算法

当css中指定的字重数值在字体重没有对应字重时,就需要 字体匹配算法(font-matching-algorithm) 来解决这个问题。算法大概意思就是: 如果指定的font-weight数值,在字体中有对应的字重,那么就匹配为该对应的字重,否则就按照一定的规则来处理
规则如下:

  1. 字重小于400,先找小于400的,如果没有,就找大的,匹配最邻近的。
  2. 字重大于500,先找大于500的,如果没有,就找小的,匹配最邻近的。
  3. 字重等于400,先匹配500,如果没有,按照第一个小于400规则执行。
  4. 字重等于500,先匹配400,如果没有,按照第一个小于400规则执行。

总结

并没有,只是项目中遇到了,所以查了些资料记录一下。