IE6 支持a:hover 失效的问题

昨天一位QQ好友问了这样一个问题:

<style>
*
{ margin:0; padding:0};
img
{border:none;}
a:hover img
{border:4px solid red;}
</style>
<body><a href="#"><img src="http://www.4738.com/uploads/allimg/110303/56-1103031132350-L.jpg"/></a></body>

在IE6鼠标悬停的时候  img 的样式并没有发生变化. 从代码上看,完全没有问题.

当时我也测试了一下. 的确没有效果. 由于工作的原因,没时间,所以就搁置到了今天.

刚才就重新对这个 demo 测试了一下.  当时也没有想到 是  haslayout 的问题.


在css森林群里发了一个demo . 一位同学给出了 a:hover{background:#ccc;} 的解决方案.

顿时想到 是不是 haslayout 引起的.

接着测试了下面两个属性.都可以实现

<style>
*
{ margin:0; padding:0};
img
{border:none;}
a:hover
{overflow:hidden;}/*方法一*/
a:hover
{zoom:1;}/*方法二*/
a:hover
{background:#fff;}/*方法三*/
a img
{ border:1px solid red; width:86px; height:86px;}
a:hover img
{border:4px solid red; width:120px;}
</style>

三个方法都可以实现效果.

也许以后的项目中会用到. 先记录下来.

如果您有更好的方案,也欢迎留言!!

posted @ 2011-03-05 10:48  noyobo  阅读(346)  评论(0编辑  收藏  举报