对于涉及CSS中宽度单位的任何内容,当我需要固定宽度时,我总是使用 px ;当我需要相对于字体大小的宽度时,我总是使用 em 。
然后我意识到 em 确实是字体的高度的度量,而不是 width 。因此, ch 似乎更合适。
忽略 ch 是一个相对较新的CSS单元(较旧的浏览器可能不支持它),在指定任何应根据字体大小缩放的水平长度时,最好使用 ch , em ,还是其他什么?
答案 0 :(得分:0)
在字体的高度或宽度方面不要考虑em
,它是从字体的度量元数据中得出的,在技术上与字体中的单个字母无关,甚至与平均高度或一组特定字母的宽度。无论你在哪里加载该字体,它都只是一个你知道总是相同的值,这就是为什么只要你确保加载正确的字体就可以使用。
如果您指定要使用的字体,则可以安全地使用em
,并且无论使用哪种设备/浏览器组合,您都知道您的内容的大小始终相同。另一方面,如果你留下任何暗示使用的字体(比如依赖于“serif”,或者甚至根本没有指定<html>
或<body>
的最顶层字体,那么你将不得不三思而后行使用em
,或任何相对单位。
底线:强制执行页面上的字体,然后em
单位100%可靠,因为每个上下文中使用的字体始终保证是您设计的字体。
更新:CSS3在此回答后约2年出现,重新定义了em
的含义。根据现行规则(2017年4月),em
被定义为与font-size
相同的值。因此,font-size: 16px
直接表示1em
对应16px
。