这一段css代码相当简单,目的就是想用css来控制某段文字的显示与隐藏。起初我采用了下面的代码,令人不可思议的是,它们在我的ie6.0上居然没有任何反应,大家不信可以亲自试验一下。
<style type=”text/css”>
a {font-size:12px;
text-decoration:none;
height:50;}
a:hover {text-decoration:none;}
a span {font-size:12px;
display:none;}
a:hover span {display:block;}
</style>
<a href=”#”>link<span>我是隐藏内容</span></a>
我仔仔细细地检查了一遍代码,实在找不到什么毛病来。没有办法,我只能像平时查错纠错一样,试着改改css里的代码。当我改变了hover伪类链接中的代码时(代码如下所示),突然发现代码可以运行了。
为了确认css是否真存在该bug,我又特地改用大小、颜色、位置等样式来试验,在不改变hover伪类链接的前提下,都无法得到正常情况下应得到的效果。从而可以得知:在包含选择符有伪类链接时,存在着css样式无效的bug,希望css下一版中能修正这个错误。
a:hover {text-decoration:none;border:none;}
这样我们可以知道,在hover伪类链接中必须包含某些特殊的css属性声明才能消除这个bug。 我用了css里所有的属性声明来尝试解决这个bug,发现只有一下几项属性声明能解决这个问题。
border
display
postion
overfilow
background
而我之所以采用“border:none”这种方法,是因为它还能从netscape 4中消除一些不同的css错误。
注:本文所提及的bug在ie5.5、ie6.0中均存在。