最近在写一个页面的时候出现了一个bug:该页面在所有测试浏览器下都是正常的,除了ie7。在ie7中页面右侧莫名的出现多余的宽度,而且很长。纠结了一天未解,多亏zhenn同学帮我定位到问题代码。在此表示感谢!
问题代码的结构是:
XHTML
1 | <a href= »# » class= »content_tip »><em>How Can I Be Listed Here?</em></a> |
a的样式如下:
CSS
1234567 | .content_tip{ position:absolute; right:24px; top:6px; color:#FFF; font-weight:bold;} |
这是再正常不过的代码了,可是却引起了上述的问题,于是有了以下的测试:
描述
==========
一个除了reset没有加任何样式的em加在一个a里,a是被绝对定位的,竟然导致页面在ie7下右边多出很长的宽
猜测
==========
与em本身默认的样式有关
测试
==========
根据猜测对几个类似标签进行测试:em、strong、dfn、code、samp、kbd、var、pre、cite
测试结果
==========
受影响标签:em、dfn、var、cite
进一步猜测
==========
根据测试结果来看,受影响的标签从表现上看,它们显示出的样式为斜体,因此我猜跟默认的斜体的样式处理有关
进一步测试
==========
将reset中的font-style: inherit改为font-style: normal;结果bug消失,证实了本人的猜测。
bug解决方案
==========
将会出现问题的标签的font-style: inherit改为font-style: normal;