DIV+CSS布局重新学习之css控制ul li实现2级菜单

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript"><!--//--><![CDATA[//><!--
startList = function() {
    if (document.all&&document.getElementById) {
        navRoot = document.getElementById("menu");
        var allli = navRoot.getElementsByTagName("li")
        for (i=0; i<allli.length; i++) {
            node = allli[i];
            node.onmouseover=function() {
                this.className+=" current";
            }
            node.onmouseout=function() {
                this.className=this.className.replace(" current", "");
            }
        }
    }
}
window.onload=startList;
//--><!]]></script>
<style type="text/css">
body { font-family: Verdana; font-size: 12px; line-height: 1.5; }
img { border-style: none; }
a { color: #000; text-decoration: none; }
a:hover { color: #F00; }
#menu { width: 100px; border: 1px solid #CCC; border-bottom:none;}
#menu ul { list-style: none; margin: 0px; padding: 0px; }
#menu ul li { background: #eee; padding: 0px 8px; height: 26px; line-height: 26px; border-bottom: 1px solid #CCC; position:relative; }

#menu ul li ul { display:none; position: absolute; left: 100px; top: 0px; width:100px; border:1px solid #ccc; border-bottom:none; }
#menu ul li.current ul { display:block;}
#menu ul li:hover ul { display:block;}
</style>
</head>
<body>
    <div id="menu">
        <ul>
            <li><a href="#">首页</a></li>
            <li><a href="#">网页版式布局</a>
                <ul>
                <li><a href="#">自适应宽度</a></li>
                <li><a href="#">固定宽度</a></li>
                </ul>
            </li>
            <li><a href="#">div+css教程</a>
                <ul>
                <li><a href="#">新手入门</a></li>
                <li><a href="#">视频教程</a></li>
                <li><a href="#">常见问题</a></li>
                </ul>
            </li>
            <li><a href="#">div+css实例</a>
                <ul>
                <li><a href="#">子菜单1</a></li>
                <li><a href="#">子菜单2</a></li>
                <li><a href="#">子菜单3</a></li>
                </ul>
            </li>
            <li><a href="#">常用代码</a></li>
            <li><a href="#">站长杂谈</a></li>
            <li><a href="#">技术文档</a></li>
            <li><a href="#">资源下载</a></li>
            <li><a href="#">图片素材</a></li>
        </ul>
    </div>
</body>
</html>

如果用JQuery来写上面的JS则更简单:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript" src="jquery-1.7.2.min.js"></script>
<style type="text/css">
body { font-family: Verdana; font-size: 12px; line-height: 1.5; }
img { border-style: none; }
a { color: #000; text-decoration: none; }
a:hover { color: #F00; }
#menu { width: 100px; border: 1px solid #CCC; border-bottom:none;}
#menu ul { list-style: none; margin: 0px; padding: 0px; }
#menu ul li { background: #eee; padding: 0px 8px; height: 26px; line-height: 26px; border-bottom: 1px solid #CCC; position:relative; }

#menu ul li ul { display:none; position: absolute; left: 100px; top: 0px; width:100px; border:1px solid #ccc; border-bottom:none; }

/*这里就不需要定义这个样式了,使用JQuery的togger方法即可*/
/* 
#menu ul li.current ul { display:block;}
#menu ul li:hover ul { display:block;}
*/
</style>

<script type="text/javascript">
    $(function(){
        $("#menu li").bind({
            mouseover: function() {
                $(this).children("ul").toggle();
            },
            mouseout: function() {
                $(this).children("ul").toggle();
            }
        });
    });
</script>

</head>

<body>
    <div id="menu">
        <ul>
            <li><a href="#">首页</a></li>
            <li><a href="#">网页版式布局</a>
                <ul>
                <li><a href="#">自适应宽度</a></li>
                <li><a href="#">固定宽度</a></li>
                </ul>
            </li>
            <li><a href="#">div+css教程</a>
                <ul>
                <li><a href="#">新手入门</a></li>
                <li><a href="#">视频教程</a></li>
                <li><a href="#">常见问题</a></li>
                </ul>
            </li>
            <li><a href="#">div+css实例</a>
                <ul>
                <li><a href="#">子菜单1</a></li>
                <li><a href="#">子菜单2</a></li>
                <li><a href="#">子菜单3</a></li>
                </ul>
            </li>
            <li><a href="#">常用代码</a></li>
            <li><a href="#">站长杂谈</a></li>
            <li><a href="#">技术文档</a></li>
            <li><a href="#">资源下载</a></li>
            <li><a href="#">图片素材</a></li>
        </ul>
    </div>
</body>
</html>

 效果如下:

这里UL和LI的布局的核心参见:DIV布局之positioan详解

DIV+CSS布局重新学习之css控制ul li实现2级菜单,古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。