我有几个关于字体大小的具体问题:
- pt(IE 12pt)是否标准化?我想我在某处读到 pt = 1/72 英寸。但是,Photoshop 中 24pt 字体的大小与 css 中 24pt 字体的大小有很大不同。
- 字体大小究竟决定了什么?它是一种关于字母大小的不规范的任意描述,还是实际上是指字母的特定高度或宽度属性?
谢谢堆栈!
font-size 是字体的基线高度(大写 H 字符的高度)加上其上方的小空间(上升部分)和下方较大的空间(下降部分)。
对于特定字体大小的特定字体,基线高度将始终是相同的大小。以下是一些基于 Arial 字体测量的示例:
font-size baseline height
10 7
11 8
12 9
14 10
理论上,对于 CSS,pt 是基线高度的粗略近似值,以 px 为单位。例如,font-size:9pt 的基线高度为 9px,对应于 font-size:12px。在实践中,我有时会发现 pt 比基线高度大 0.5 到 1.0 px。
这是一个jsfiddle,显示了 px 和 pt 中大写 H 的并排比较。
In most PSDs I've seen, a font specified as 12pt is in fact 12px. But this may vary. When in doubt, measure the baseline height of the text and convert backwards from that to a font-size in px. For instance, if a capital H has a height of 9px, then the font-size is 12px. Sometimes antialiasing in a PSD makes it difficult to accurately measure the baseline height.
在CSS 2.1(当前规范)中,pt 无疑是 1/72 英寸。然而,实际情况有所不同,这反映在CSS3 值和单位草案第 5 节中。它描述了两种设置,使用不同的“锚单元”。如果像素是锚点单位,英寸(in
作为 CSS 单位)不一定是英寸(物理单位,2.54 毫米),因此 的含义p
也可能有所不同。这就是为什么在某些软件pt
中 CSS 不需要匹配的原因之一。pt
字体大小是字体的基本属性。它与字符尺寸之间的任何关系都取决于字体设计者,但字体设计当然不是任意的。CSS 2.1 规范对此相当含糊,但该公式仍然有用(反对许多常见的误解):“字体大小对应于 em 正方形,这是排版中使用的概念。请注意,某些字形可能会在它们的 em 方格之外流血。” (另一方面,大多数字形只使用 em 方格的一小部分。)
在 CSS 中以像素为单位测量字体通常是更好的做法。就像您问的问题一样,pt size 非常随意,并且因开发人员自己的定义而异。
字体中的“pt”仅用于打印 CSS。这是一个链接,它解释了大小类型之间的所有差异 http://css-tricks.com/css-font-size/
1)
在打印css 中,pt 正好是 1/72 英寸。
在屏幕 css 中,一切都以像素为单位定义,一个 pt 定义为 1 1/3 像素。但是,在英寸等物理测量中,这有多大取决于屏幕 DPI,并且在设备之间有很大差异。出于这个原因,pt(以及其他物理测量值,如 in、cm 等)在屏幕 css 中没有那么有用。
2)
字体大小是指“em-box”的高度 - 稍微简化一下,这是可以包含字体中所有字母的矩形,包括升序和降序。当然,单个字母通常比整个 em-box 占用更少的空间。例如,小写的 x 将在上方和下方留有空间,而小写的 j 可能会填满 em-box 的整个高度。
因此,字体大小表示一行文本需要多少垂直空间,但单个字母和字形的尺寸相对于其他字母和字形会有所不同,具体取决于所使用的字母和字体设计。
此外,一些字体可能有甚至在 em 框之外延伸(“出血”)的字母,这也是字体设计者的风格选择。例如,字母“Å”通常会出现在 em-box 上方。