css字体em和px

来源:互联网 发布:tensorflow 知乎 编辑:程序博客网 时间:2024/05/16 09:06

由于em是相对值,而px是像素值。因此,当浏览器放大字体的时候,只有设置了em的字体会被相对放大。因此推荐使用em作为字体的单位。

但是如果不设置浏览器的默认字体大小,em是以浏览器16px为单位换算,显得很麻烦,也就是1em=16px。

这在设计字体大小的时候很头疼,解决方法是在body里设置font-size:62.5%;

代码为:

body{
font-size: 62.5%;
}

测试后发现,在IE9以及以上版本,火狐,谷歌,safari中,只需要将原px的值除以10就可以换算成em,也就是原来是16px,可以设置字体为1.6em,大小是一样的。

(坑爹的IE8及以下!!!!)由于IE低版本对浮点数的精度计算问题,设置62.5%后,1.6em实际的大小会比16px大一点点。如图:

要想解决这个问题只能使用我上一篇文章,cssHack。

然后把62.5%改写成63%就可以了。

这里附上代码:

<!--[if IE]>
<style type="text/css">
body{
font-size:63%;
}
</style>
<![endif]-->

在HTML中<head></head>里加入这段代码,在所有IE里就可以正常显示字体大小值了!


0 0
原创粉丝点击