当前位置: 首页 > 图文教程 > 网页制作 > CSS样式表 > CSS a:hover伪类在IE6下的问题

CSS样式表
css 块状元素和内联元素
CSS 盒模型、块状元素与内联元素、CSS选择器
css 浮动 理解Float的含义
CSS 清除浮动Clear
CSS 制作网页导航条(上)
CSS 制作网页导航条(下)
css 浮动(float)页面布局
css 浮动(float)页面布局(下)
css position 定位
css 定位应用实例
CSS Hack 有关浏览器兼容方面
css 单图片按钮实例(css 图片变换)
使用X-UA-Compatible来设置IE浏览器兼容模式
div overflow 超出隐藏属性使用说明
CSS 使用规则总结
div+CSS 兼容小摘
CSS的inherit与auto使用分析
如何组织和注释CSS文件
CSS样式按整洁易懂的结构组织
CSS Prism 查看和编辑CSS中用到的颜色

CSS样式表 中的 CSS a:hover伪类在IE6下的问题


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-10   浏览: 92 ::
收藏到网摘: n/a

就拿对伪类:hover的支持来说,IE7+终于添加了对a以外其它标签的支持。对于这样的改进,当然是要拍手称快的,但在IE6下,:hover就连对a的支持都不是那么的尽如人意。下面就是我想简单说的一个关于:hover在IE6及更早浏览器下的问题。

  很多人可能都已经知道了:hover在IE6及更早浏览器(以下称IE6-)下的一些问题。我主要是想说一下形如a:hover span{}这样的问题。

  有的时候为了增加一些简单的动态效果,常常会借助:hover的帮忙,比如我们时常会令鼠标经过链接时改变文字的颜色。如:

a:hover{color:#F00;}

<a href="?">鼠标经过时改变我的颜色</a>

  是的,这将在所有的浏览器中都有效。但如果换成这样:

a:hover em{color:#F00;}

<a href="?">鼠标经过时改变我的<em>颜色</em></a>

  你会发现在IE6-下什么都没有发生,我们的样式失效了。对,就是这样,应该很多人都碰到过且已经解决了这个问题。

  是的,只需要再添加一个a:hover{}样式就可以解决这个问题了,里面可以是zoom, padding, margin等属性。如下:

a:hover{zoom:1;}
a:hover em{color:#F00;}

<a href="?">鼠标经过时改变我的<em>颜色</em></a>

  看着恢复了正常的效果,去想可能是因为什么造成:hover失效的。你可以使用zoom, display, padding等等属性来搞定,于是想会不会是因为haslayout。恩,很有可能就是这样。但你接着测试,会发现,不论你在a:hover{}写入任何属性,color啊,font-size啊,overflow啊(甚至是不存在的属性,如xx:yyy),都可以使之恢复正常。

  测试到这里是不是有点目瞪口呆的感觉?对,我也是这样的。至于原因是什么,我还不知道,或许有人知道。

  一个a:hover的简单例子:



提示:您可以先修改部分代码再运行

例子虽然简单,但即刻你又会发现其实中英菜单和一些css tips效果也是那么的简单。