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

80酷酷网    80kuku.com

  css|控制|显示

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



分享到
  • 微信分享
  • 新浪微博
  • QQ好友
  • QQ空间
点击: