以像素为单位设置 CSS 字体大小时,该值是指字母的宽度还是高度



字体大小的像素值是指字体的高度还是字体的宽度?

.CSS:

.sixteen {
  font-size: 16px;
}

.HTML:

<span class='sixteen'>a</span>

"a"是 16 像素高还是 16 像素宽,还是像两者的最大宽度/高度一样,以便整个字符适合 16px 框?

我看到的所有文件在这个问题上都是模棱两可的。

高度 - 特别是从上升器的顶部(例如,"h"或"l"(el))到下降者的底部(例如,"g"或"y")。请参阅 http://en.wikipedia.org/wiki/Typeface_anatomy 上关于类型解剖学的有趣文章。

font-size 属性指定字体的大小,无论使用什么单位。字体的大小可以表征为字体的高度,但即使这样也只是一个松散而务实的描述;字符可以超出和低于字体大小定义的级别。大小或多或少是一个抽象属性,不应期望它对应于任何字符的高度(更不用说宽度)。

特别是,设计一种字母"a"占据字体全高字体的字体是完全错误的。"a"的高度通常约为字体大小的一半,但这肯定因字体而异(尝试在Times New Roman和Verdana中使用相同的字体大小测试"a")。

根据Vincent De Oliveira的这篇文章,font-size实际上与字符的实际高度无关。它甚至不是包含文本的内联元素的高度。

当然,font-size属性的值越大,文本越大。但像素值并不直接转换为文本的实际大小。

但是,font-size 的像素值设置用于设置边距、填充等的1em的大小。

最新更新