很长一段时间我一直在使用
body {font-size:62.5%;}
在CSS文档中,因为它应该使1em
等于10px
。但是,我最近注意到在Internet Explorer中我不是这种情况。所以我尝试了代码:
html {font-size:100%}
body {font-size:10px}
现在这对我来说就像一个魅力。我的问题是:
这个解决方案有什么缺点,因为我找不到其他人使用它?
澄清:我稍后在em
中指定了我的所有字体大小,宽度,高度等。它只是在我使用10px
而不是62.5%
的身体中。
答案 0 :(得分:9)
您将为此问题的双方提供论据。我猜多数人会争论%。但是你要求弊端或陷阱
您遇到的主要缺点是,如果您使用的浏览器或设备可以使用您的像素设置而不是默认值的百分比,并且该像素设置恰好有问题或太小而不适用读。如果该浏览器没有为用户提供缩放字体或放大页面的机会,那么您可能会遇到潜在问题。
所有这一切,现在几乎每个浏览器的默认设置都是16px。我无法说明为什么IE在你的情况下以不同的方式调整大小。如果你想要一个像素完美尺寸的设计,那么使用px,否则我建议留下%。
答案 1 :(得分:0)
你可以使用:
html {font-size:10px}
所以知道你可以在没有复杂计算的情况下使用rem或em工作: 1 rem = 10px 2 rem = 20px
答案 2 :(得分:0)
百分比单位取决于浏览器的设置。在网页可访问性的情况下,大多数浏览器的默认设置是 16px 等于 100%,因此 10px 等于 62.5%。但是,如果您将浏览器的默认字体大小设置为更小或更大,则 62.5% 还不等于 10px。