我知道我们很多人都熟悉将CSS中body元素的字体大小设置为62.5%.这意味着1em将等于10px并有助于保持像素完美,但也允许缩放字体.
所以这不意味着将其设置为6.25%将等于1em = 1px?看起来像一个更简单的转换,而不是不得不乱七八糟...
多谢你们!我非常了解em和它的历史(设计学位),但我相信其他人可能会觉得它很有帮助:)
至于1em = 1px,我看不出这是不可取的.无论您的单位(无论是点还是像素),em都是正方形,没有人会将它们的类型设置为1px(就像没有人会在1pt处设置打印类型一样).此外,即使你的文章也承认,在大多数数字字体中,大写字母"M"通常小于1em,并且em仅仅是点大小的反映(48pt类型将为em提供48pt乘48pt的平方,12pt类型将产生12x12等)
此外,人们会这样做的原因更多的是设置页面上其他元素的尺寸,以便在用户调整字体大小时一切都很好地缩放.当然,总会有少数人将他们的默认设置设置为16px以外的其他东西,但值得为像素完美布局付出代价才能很好地扩展.
首先,不要假设1 em等于10个像素.em单元与正在使用的排版直接相关.如果有人的字体大小为16像素,那么62.5%确实是10像素(16*0.625 = 10),但是当有人修改了默认字体大小时,这显然会发生变化.
其次,这是我第一次听说使用62.5%的基体font-size
.font-size
根据Owen Briggs的Sane CSS Typography,我总是使用76%的76%.
最后,要回答您的问题,是的,您可以使用6.25%的字体大小,然后使用12em
而不是1.2em
,例如.但是,我强烈反对这种方法.在typograhy的世界中,一个em意图是大写字母'M'的宽度.这种方法完全违反了这种惯例,并且会严重混淆将来可能维护CSS的任何人.
可以说,但是你失去了对你的规模的控制.不要忘记,标题通常会按照其等级继承相同的大小(即最大,
略小).如果要减少这些元素,则需要使用具有大量小数占位符的em值.想象一下
. font-size: 0.005em
或者更糟糕的是,如果你希望字体缩放得更大,你可能会看到font-size: 40em
或者有些荒谬.
简而言之,1em = 10px对于字体的缩放值更加实用.虽然1:1的比例可能在纸上有意义,但它并不适合于合理且可维护的CSS.
整个"62.5%= 10px"的东西从根本上被打破 - 62.5%可能是也可能不是10px,具体取决于浏览器,用户的设置,尤其是最小字体大小设置.所以你不能只设计像素,然后假设62.5%= 10px"转换"为ems,因为你的设计会一直打破.如果你想要一个像素完美的设计,你必须使用像素作为单位.如果您需要灵活的设计,则需要考虑网站不同元素的相应单位 - 应该缩放与文本大小相关的元素的ems,应相对于窗口大小缩放的元素的百分比以及元素的像素(像图像)根本不应该扩展.
任何包含font-size:62.5%的CSS从根本上都不了解如何为网页设计.