字号的像素值是指字体的高度还是宽度?
CSS:
.sixteen {
font-size: 16px;
}
HTML:
<span class='sixteen'>a</span>
这个 "a" 字符的高度和宽度都是 16 像素吗?还是说它的最大宽度/高度为 16 像素,以适应一个 16px 的盒子?
我看到的所有文档在这个问题上都含糊不清。
高度指的是从升部(如'h'或'l')顶部到降部(如'g'或'y')底部的距离。请参阅有趣的《字体解剖学》文章:http://en.wikipedia.org/wiki/Typeface_anatomy。
font-size
属性指定字体的大小,无论使用何种单位。字体的大小可以描述为字体的高度,但即使如此,这只是一个宽泛而实用的描述;字符可能会超出或低于由字体大小定义的水平线。大小是一个更或多或少抽象的属性,不应期望它与任何字符的高度(更不用说宽度)相对应。font-size
实际上与字符的实际高度没有任何关系。它甚至不是包含文本的内联元素的高度。font-size
属性的值越大,文本就越大。但像素值并不能直接转换为文本的实际大小。font-size
的像素值设置了用于设置边距、填充等的 1em
的大小。
<p style="font: 42pt Verdana; line-height: 1em; background: yellow; border: solid red 1px;">QÅgjþÊ</p>
。CSS 2.1规范说:“字体大小对应于em方块,这是排版中使用的概念。请注意,某些字形可能会超出它们的em方块。” http://www.w3.org/TR/CSS2/fonts.html#font-size-props - Jukka K. Korpela