CSS控制文字的显示与隐藏时引出的Bug

这一段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中均存在。

原文地址:https://www.cnblogs.com/yuzhongwusan/p/1211147.html