正常访问状态! 设为首页 | 加入收藏夹 | 浏览历史  
  http://www.guosp.com
 碧海澜涛居
  海纳百川,有容乃大。壁立千刃,无欲则刚!
 
 
关键词:
  网站首页 | 关于本站 | 技术资料 | 美文日志 | 读书收藏 | 影视收藏 | 软件收藏 | 摄影相册| 留言板 
  技术资料 >> DIV+CSS技术 关闭(快捷键alt+C)
搜索标签: 暂无标签
IE6不识别li hover
[阅读次数:2035次]  [发布时间:2011年7月14日]

IE6只能识别链接,也就A元素下的Hover事件,因此,许多CSS菜单利用了li的hover属性,使之不能被IE6下起作用。

两种解决办法:

第一种,是利用JS在IE6下重置LI等的属性

网友PHPishard写的非常清楚,下面此段完整转载其原文

IE6中 li:hover和li:hover 后的层z-index问题
-----(_(_(_(_(_(_(_(这是冲击波分割线)_)_)_)_)_)_)_)------
首先就是纯div+css做下拉菜单的代码
然后考虑IE6兼容问题
因为IE6不认li:hover,所以需要一段JS代码来实现这个功能
网上有很多种,这里我选择其中的一种我觉得最方便的
-----------------code-----------------
<script type="text/javascript"><!--//--><![CDATA[//><!--
sfHover = function() {
var sfEls = document.getElementById("nav").getElementsByTagName("LI");
for (var i=0; i<sfEls.length; i++) {
sfEls[i].onmouseover=function() {
this.className+=" sfhover";
}
sfEls[i].onmouseout=function() {
this.className=this.className.replace(new RegExp(" sfhover\\b"), "");
}
}
}
if (window.attachEvent) window.attachEvent("onload", sfHover);
//--><!]]>
</script>
-----------------code-----------------
上色好麻烦...我这里大概按Editplus配了下色,嗯嗯
顺便贴个使用的例子:
-----------------code-----------------
<ul id="nav">
<li><a href="#">这是显示的标题1</a>
<ul>
<li><a href="#">这是列表中的内容1</a></li>
<li><a href="#">这是列表中的内容2</a></li>
<li><a href="#">这是列表中的内容3</a></li>
<li><a href="#">这是列表中的内容4</a></li>
</ul>
</li>
<li><a href="#">这是显示的标题2</a>
<ul>
<li><a href="#">这是列表中的内容5</a></li>
<li><a href="#">这是列表中的内容6</a></li>
<li><a href="#">这是列表中的内容7</a></li>
<li><a href="#">这是列表中的内容8</a></li>
</ul>
</li>
</ul>
-----------------code-----------------
还有css,其中的注释我没改,样式大体内容可以自己改 :
-----------------code-----------------
#nav, #nav ul{ /* all lists */
padding: 0;
margin: 0;
list-style: none;
line-height: 1;
}
#nav li{ /* all list items */
float: left;
width: 10em; /* width needed or else Opera goes nuts */
}
#nav li ul{ /* second-level lists */
position: absolute;
background: orange;
width: 10em;
left: -999em; /* using left instead of display to hide menus because display: none isn't read by screen readers 这里用left:-999em的也行,用display:none的也行,看您喜欢用啥 */
}

#nav li:hover ul, #nav li.sfhover ul{ /* lists nested under hovered list items */
left: auto;/* 如果上面用left的了,那么这就不用改,最多改个数,如果用display:none了,那么这里改成display:block*/

}
-----------------code-----------------
至此就可以用了
接下来,如果需要给下拉的那个列表定位
用到position:absolute,并且设置父元素li为position:relative了的话
那么就会发现下拉菜单不会遮住下面的元素,而是跑到了所有层的最底下
并且无论您怎么设置z-index都没有用
那么关键来了,删掉父元素li的position:relative再看看,好了吧?
或许您要问了,如果删了父元素的包含框,那怎么定位absolute那位呢?
用margin,比如:
-----------------code-----------------
#nav li ul {
position: absolute;
background: azure;
width: 200px;
height:200px;
display: none;
margin-left: 80px;
margin-top: -15px;
}

-----------------code-----------------
到此说完了,再有新问题我再接着发
PS:此方法兼容 IE6 IE7 IE8 Chrome Firefox3

第二种方法:在IE6中利用表格。

添加一条#menu li a table{ display:block; width:100%; border:none;}
html中的注释的表格加上<!--[if lte IE 6]><a href="#"><table cellpadding="0" cellspacing="0"><tr><td><![endif]-->





本页地址: [复制地址]
该页内容非本站原创 收藏自:http://hi.baidu.com/fuyangxw/blog/item/660921d7238e05cba144df91.html
返回顶部 关闭(快捷键alt+C)
评论统计(0条)| 我要评论
暂无评论内容!
我要评论 
我要评论: 带*部分需要填写
 姓名称呼: * 请填写您的姓名或呢称
联系方式: QQ,MSN,Email都可以,方便交流 (仅管理员可见)
 评论内容: * 不超过100字符,50汉字
验证码:
    
  推荐链接
·强制两端对齐的函数或者CSS...
·IE6 BUG集
·用CSS实现第一个文字变大下...
·li设置float属性后ul的高度...
·IE6不识别li hover
·css文本两端对齐详解及实例...
·ul中li浮动之后,如何使ul的...
·设置div的最小高度(多浏览...
·css中dl dt dd的排版实例说...
·css两端对齐,div+css文章两...
  最近更新  
·Host 'XXX' is not allowed...
·Win2008或IIS7的文件上传大...
·IIS7.0上传文件限制的解决方...
·测试信息2015-03-11
·asp.net中处理图片
·ASP.NET之Web打印-终极解决...
·Asp.net下C#调用Word模版实...
·asp.net下将页面内容导入到...
·asp.net导出为pdf文件
·asp.net生成pdf文件
·FCKeditor 文本编辑器的使用...
·ASP.NET 将数据生成PDF
·asp.net2.0导出pdf文件完美...
·AspJpeg的安装与测试
·JS验证浏览器版本对IE11的支...
  热门浏览  
·IE8和IE9出现“此网页上的问...
·无线路由器密码破解,教你断...
·js替换所有回车换行符
·QQ/MSN在线交流代码
·IE弹出“中国工商银行防钓鱼...
·如何取消键盘上的一些快捷键...
·win7声音小的解决方法
·webdav漏洞的利用
·强制两端对齐的函数或者CSS...
·win7下成功安装sql server ...
·显示器分辨率调的过高导致电...
·天诺时空技术技术论坛
·js验证手机号码格式
·JS展开和收缩效果(二)
·本地计算机上的 MSSQLSERVE...
  碧海澜涛居
网站首页关于本站站长简介开发案例技术资料美文日志摄影相册读书收藏影视收藏留言板
版权所有:碧海澜涛 QQ:410436434 Email:shaopo_guo@163.com 苏ICP备15000526号
免责声明:本站为个人网站,站内所有文字、图片等各类资料均为个人兴趣爱好所收集,不用作任何商业用途,亦不保证资料的真实性,若有因浏览本站内容而导致的各类纠纷,本站也不承担任何责任。本站部分内容来自互联网,如有涉及到您的权益或隐私请联系站长解决。