Gists

字体

字体

《深入理解:line-height、vertical-align》

由于每个字体占据的行内的实际高度是要按照字体属性计算的,font-size 指定了 em-square 的大小,但是字体展示在行内的高度(内容区高度)是按照字体的 Ascent 和 Descent 属性计算的,这就是为什么设置了字体的展示范围要比 font-size 大得多。

见下图, font-size 为 100 时,实际的字体展示区域为 $$(Ascent+Descent)*(font-size/em-sqaure)$$

也就是 $$(1100 + 540) * (100 / 1000) = 164px$$

font-size | https://www.pinterest.com/pin/an-introduction-to-the-inline-formatting-context-explores-lineheight-and-verticalalign-properties-as-well-as-the-font-metrics-underst--54958057934130156/

所以可想而知,line-height 设为数字时,行高为 font-size 的值的倍数关系,是个糟糕的实践。

因为不同字体的属性还不一样,而行盒子计算其自身高度是取每行中个元素的最高点和最低点,这也就导致了行高和字体的高度可能对不上。

line-box | https://www.pinterest.com/pin/an-introduction-to-the-inline-formatting-context-explores-lineheight-and-verticalalign-properties-as-well-as-the-font-metrics-underst--54958057934130156/

和大家理解的不太一样,line-height:middle 并不是指父元素的中线位置,而是父元素的 base-line + half-x-height。

免费商用字体

![[Pasted image 20230730231610.png]]

https://www.figma.com/file/mtPPLBBq4p3RFKucX47wFW/%E5%85%8D%E8%B4%B9%E5%95%86%E7%94%A8%E5%AD%97%E4%BD%93%E5%BA%93-(Community)?type=design&node-id=1-177&mode=design&t=NBLaDAXojVu6beVl-0


Copyright © 2024 Lionad - CC-BY-NC-CD-4.0