最新消息:iOS编程开发交流群(6906921) iOS编程开发交流群欢迎iOS开发编程爱好及学习者加入!

解决ie6下hover失效问题

HTML 天狐 1976浏览 0评论

.navbar li a {display: block; color: #fff;}
.navbar li a:hover {background: #FFFFFF; display: block; color: #008EDC; text-decoration: none;border:none;}

以上CSS中比较让人费解的大概就是粗斜显示的 border:none 一句。这看似一个毫无意义的效果,可是如果没有这一句的话,在IE6中就无法触发hover。

这是IE6处理CSS伪类:hover的Bug。例如如下的代码:

<style>
a {}
a span {color: green;}
a:hover {}
a:hover span {color: red; }
</style>
<a href=”http://www.taobao.com“> 淘宝网 <span> 淘你喜欢 </span></a>

在IE7/FF中,鼠标移动到链接上时,”淘你喜欢”字样会变为红色,但IE6则无反应。所以IE6的bug就是如果a 与 a:hover 的css定义是一样的,也就是说如果a:hover 中没有样式的改变,hover就不会被触发。但如果在a:hover{}增加一些特定的属性,例如

a:hover{border:none;}
或者
a:hover{padding:0;}
又或者
a:hover{background: none;}

此时hover就可以触发了。这样的属性还包括direction/text-align/text-indent/float/overflow/position …… 等等

转载请注明:天狐博客 » 解决ie6下hover失效问题

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

网友最新评论 (1)

  1. 不止一次的来过,有价值的博客,收藏先~
    35秒杀网4年前 (2013-05-04)回复