Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
当我们在CSS中以px设置字体大小时,文本的哪个维度实际设置为该值?_Css_Font Size_Typography - Fatal编程技术网

当我们在CSS中以px设置字体大小时,文本的哪个维度实际设置为该值?

当我们在CSS中以px设置字体大小时,文本的哪个维度实际设置为该值?,css,font-size,typography,Css,Font Size,Typography,有很多关于CSS中不同度量的文章,但实际上我找不到任何一篇回答我的问题 例如,当我们将字体大小设置为16px时,字形或字符的哪一部分将设置为16px?(是x高、帽高还是…?) 我如何在css中精确控制我的字符高度?(类似于使用ex-unit,但用于字符的整个高度)这完全取决于矢量图像在字体中的定义方式 定义字体时,您会有一个“文档”,就像使用Adobe Illustrator或任何其他矢量编辑工具时一样。文件的高度应为100%。如果创建字体的人没有将字形拉伸到文档的高度,则在定义的大小下,字形的

有很多关于CSS中不同度量的文章,但实际上我找不到任何一篇回答我的问题

例如,当我们将字体大小设置为16px时,字形或字符的哪一部分将设置为16px?(是x高、帽高还是…?)


我如何在css中精确控制我的字符高度?(类似于使用ex-unit,但用于字符的整个高度)

这完全取决于矢量图像在字体中的定义方式

定义字体时,您会有一个“文档”,就像使用Adobe Illustrator或任何其他矢量编辑工具时一样。文件的高度应为100%。如果创建字体的人没有将字形拉伸到文档的高度,则在定义的大小下,字形的高度永远不会达到文档的高度

对于文本字符(字体),有关于下行字母“g,y”、大写字母高度“A vs.A”和上行字母如何显示等的指南,但不适用于字形。因此,没有真正的衡量标准

要使字形的大小正确,有时需要反复试验理想情况下,字形的高度应与大写字母相同(E),但有时字形因某种原因大小不同。例如,商标(™) 设计为上标。它较小,但与基本字体大小成比例

有关如何定义字体的更详细信息,请参见:

属性设置字体的大小,该大小等于字体的高度,不等于任何字符的任何尺寸(意外情况除外)。它只是一个参考量,通常足以容纳字符占用的整个垂直空间,包括包括降、升和常见的变音符号,但不包括任何变音符号序列。通常,“Q”、“É”、“þ”和“Å”都位于字体高度内,因此需要大于例如“E”和“A”的高度。但这不是一条定律;在某些字体中,例如“Å”延伸到字体高度的顶部以上

意外情况包括定义为具有与字体大小相等的尺寸的字符。例如,EM空格的宽度可能与字体大小相等,但即使是这样(根据Unicode标准),也只是“名义上”适用,并且可能因压缩因子而不同。(EM破折号的宽度可能只有一个
EM
,但这不是其定义的一部分,与其名称相反。)


字体的大小肯定大于x高度,也大于大写字母的高度(部分原因是一些大写字母有降号)。人们普遍认为字体大小(em单位)等于“M”的宽度很明显是错误的,即使是最简单的检查也可以证明。

这是一个很好的答案,谢谢:D但让我把我的问题扩展一点。CSS中是否有像em或ex这样的单元可以让我控制你所说的“文档”的高度字体的高度?!谢谢你的回答。正如我对迪奥德乌斯说的,我想从数学上控制CSS中文本的高度,不知何故,我希望这是准确的(不使用更少或SCS)。还有什么像ex unit这样的东西可以帮助我实现这一点吗?