如何用css中的ul li ul li ul li 实现三级菜单_html/css_WEB-ITnose

WBOY
Release: 2016-06-24 12:24:56
Original
1976 people have browsed it

css

nbsp;html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">



多级菜单









目前这样的,第二级菜单显示的时候,三级菜单也跟着显示了,不知道哪里出错了,求高手指导,谢谢先……

文件已上传到:http://www.zjgqy.com.cn/t4.html

回复讨论(解决方案)

#menu2 ul li:hover ul li ul{   display:none;}
Copy after login
Copy after login

加一个这个,否则第二集菜单显示时会连带把第三级 ul 显示出来

#menu2 ul li:hover ul li ul{   display:none;}
Copy after login
Copy after login

加一个这个,否则第二集菜单显示时会连带把第三级 ul 显示出来


感谢Dizzy88的回复,这个问题解决了,但是在IE6下面还是有问题,不知道怎么办了!能麻烦你帮我再看看么?

#menu2 ul li.current ul{
display:block;}
加了这个样式,还有下面这段JS
<script><!--//--><![CDATA[//><!-- <br /> startList = function() { <br /> if (document.all&&document.getElementById) { <br /> navRoot = document.getElementById("menu2"); <br /> var allli = navRoot.getElementsByTagName("li") <br /> for (i=0; i<allli.length; i++) { <br /> node = allli[i]; <br /> node.onmouseover=function() { <br /> this.className+=" current"; <br /> } <br /> node.onmouseout=function() { <br /> this.className=this.className.replace(" current", ""); <br /> } <br /> } <br /> } <br /> <br /> } <br /> window.onload=startList; <br /> //--><!]]> <br /> </script> 

这个ie6不支持那句话了,它只支持a的伪类!这个是不是要改JS了啊?

这个肯定是JS代码的问题了,有一句说得很对,IE6不支持伪类,所以你后加的那句隐藏三级列表的也失效了,应该在JS里面给它加上不显示!

因为在鼠标移动到二级菜单的时候三级菜单没有隐藏
只要在就可以了

注意把前面的ID 修改为你自己的id

#menu2 ul li.current ul{
display:block;}
加了这个样式,还有下面这段JS
<script><!--//--><![CDATA[//><!-- <br /> startList = function() { <br /> if (document.all&&document.getElementById) { <br /> navRoot = document.getElementById("menu2"); <br /> var allli = navRoot.getElementsByTagName("li") <br /> for (i=0; i<allli.length; i++) { <br /> node = allli[i]; <br /> node.onmouseover=function() { <br /> this.className+=" current"; <br /> } <br /> node.onmouseout=function() { <br /> this.className=this.className.replace(" current", ""); <br /> } <br /> } <br /> } <br /> <br /> } <br /> window.onload=startList; <br /> //--><!]]> <br /> </script> 

ie6 是不支持div的伪类 :hover的  你把你的 li里加个a标签 然后css 控制a标签就好了


#menu2 ul li.current ul{
display:block;}
加了这个样式,还有下面这段JS
<script><!--//--><![CDATA[//><!-- <br /> startList = function() { <br /> if (document.all&&document.getElementById) { <br /> navRoot = document.getElementById("menu2"); <br /> var allli = navRoot.getElementsByTagName("li") <br /> for (i=0; i<allli.length; i++) { <br /> node = allli[i]; <br /> node.onmouseover=function() { <br /> this.className+=" current"; <br /> } <br /> node.onmouseout=function() { <br /> this.className=this.className.replace(" current", ""); <br /> } <br /> } <br /> } <br /> <br /> } <br /> window.onload=startList; <br /> //--><!]]> <br /> </script> 

ie6 是不支持div的伪类 :hover的  你把你的 li里加个a标签 然后css 控制a标签就好了



不知道加在哪里啊,试了几次,都没有调试成功,能麻烦你帮我改改么?

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!