最近发现有个菜单在 IE 下面显示得非常怪异,字体宽到超出原本的容器,仔细看了下 css 代码,字体设置得也不算大啊,后来发现把加粗属性去掉就正常了。深入一步研究发现原来又是 IE 特立独行了。 代码如下: 复制代码代码如下: p Normal font 1 /p pb Bold font 2 /b/p p style='font-weight: bold;'bBolder font 3/b/p 在其他 geko 浏览器和IE8以下中显示是这样的:
![粗上加粗的IE10字体宽到超出原本的容器](http://www.6hehe.com/data/image/code/202407/130712a994.png)
唯独IE 10 及以上是这样的:
![粗上加粗的IE10字体宽到超出原本的容器](http://www.6hehe.com/data/image/code/202407/130712e6cc.png)
请注意 font 3 比 font 2 粗了很多。 作祟的是: font-weight: bold; 和 b 标签同时使用时,IE 10 的处理是加粗两次,而其他浏览器(包括较早版本的IE)则只加粗一次。这个从语义上理解也无可厚非,因为的确是加粗了两次,但是从实用角度及容错角度来看,加粗渲染一次足以,相信很少有需要加这么粗的。 当然啦,这种 font-weight: bold; 和 b 标签同时使用的写法是应该避免的。