如果不是因为工作需要,我根本不会理会IE6的兼容问题,甚至我都不想理会IE的所有内核,不过IE9用了下,我还是重新对IE报以期待的。话题扯远了,下面回到话题上来吧。
这次要说的内容就是,如果让IE支持li:hover(还有之类的span:hover、div:hover),用过的都应该差不多清楚,IE6只能识别a:hover,但有时候用UL、LI做下拉列表,IE6就一直让我很头疼。
有人用的解决办法可能第一反应就是去网上找相关的JS来代替hover,其实有个超级简单的方法,就是在LI标记里加一个A标记,然后定义这个A标记为display:block即可,然后就可以把这个A标记宽高设置和LI一样,这样就很兼容IE6了,演示代码如下:
<ul>
<li><a href=”#” style=”display:block”>栏目一</a></li>
<li><a href=”#” style=”display:block”>栏目二</a></li>
<li><a href=”#” style=”display:block”>栏目三</a></li>
</ul>
当然了,还有其他别的方法,连代码都不用写,只需引用一个文件就行:csshover.htc(点击下载csshover3。如果失效,自行Google,百度)
下载好后,只需在代码的<head></head>中间添加下面这段代码,然后就放心大胆的去使用hover吧(也支持focus):
<!–[if lte IE 6]>
<style type=”text/css”>
body { behavior:url(“csshover.htc”); }
</style>
<![endif]–>
我个人还是推荐第二种方法,当然在没有条件允许的情况下,第一种还是比较实用的,毕竟存着一个文件不如牢记于心一种解决办法,这样随时可以用键盘敲出来并解决问题。