2011-10-10 119 views
18

很长一段时间我在CSS文件被使用字体大小:62.5%对字体大小:10px的

body {font-size:62.5%;} 

,因为它应该让1em等于10px。但是,最近我注意到Internet Explorer中的情况并非如此。所以,我试了代码:

html {font-size:100%} 
body {font-size:10px} 

现在这对我来说就像一个魅力。我的问题是:

这个解决方案有什么缺点,因为我找不到其他人使用它?

澄清:我稍后在em中指定我所有的字体大小,宽度,高度等等。这只是在我使用10px而不是62.5%

+0

也许这线程可以给你更多这个问题的见解:为什么-EM-INSTEAD-OF-PX] [1] [1]:http://stackoverflow.com/questions/609517/why-em-instead-of-px –

+1

我喜欢像素字体尺寸太大......我觉得我有更好的设计控制。过去的缺点是,当人们手动增加文本大小时,它不能很好地扩展......事情会中断/溢出。使用'%'或'em'可以更好地弥补这些间距问题。然而,近来,更新的浏览器正朝着真​​正的“缩放”进出,这使旧的增加/减少文本大小问题变得没有意义。 – Sparky

+0

那么,我真的想与他们一起出于可访问性的原因。感谢您的链接,但我仍然不明白其中的差异。在这两种情况下,1em在Firefox中都是10px,但对于我来说1em在Internet Explorer中会稍大一些。 – RichardL

回答

9

你会得到这个问题双方的论据。我猜大多数人都会争论%。但是你要求的缺点或缺陷

如果你碰到一个浏览器或设备,它表示你的像素设置而不是默认设置的百分比,并且该像素设置碰巧是有问题的或太小而无法阅读。如果该浏览器没有为用户提供缩放字体或放大页面的机会,那么您可能会遇到潜在的问题。

所有这一切,几乎每一个浏览器这些天都有默认设置为16px。我不能说为什么在你的情况下IE浏览器的大小不同。如果你想要一个完美尺寸的像素设计,那么使用px,否则我会建议保留%。

+0

感谢您的回答。这正是我所需要的,尽管它仍然给我带来了问题。也许我会用IE浏览器测试另一个CPU上的网站,看看我是否仍然有同样的问题。如果它有,那么我的代码中的其他内容一定会导致这种情况。 – RichardL

+0

如果这是你正在寻找的答案,将其标记为正确的anwswer,所以他得到他的分数=) –

0

你可以只使用:

html {font-size:10px} 

所以知道你可以只用REM或EM工作,而无需复杂的计算: 1雷姆= 10px的 2 REM = 20px的