zoukankan      html  css  js  c++  java
  • 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 {  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; 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详解

    横向菜单:

    横向菜单的核心就是要让li浮动起来

    ul li { width:72px; float:left; margin:20px 0 0px 20px; display:inline; text-align:center;}
    menu ul { list-style: none; margin: 0px; padding: 0px; }
  • 相关阅读:
    定时任务
    ---Ubuntu 连接手机tethering
    ---thunar 文件浏览器的使用!
    ---recovery ui 修改
    ---wordpress 升级遇到的问题!
    ---BD PROCHOT
    ---安装/修复Ubuntu/Ach Linux efi 启动 !!!(包括双系统启动)
    ---sgdisk 分区表
    --- cache PV 丢失或损坏 怎么办
    ---lvm2分区修复问题!
  • 原文地址:https://www.cnblogs.com/yangzhilong/p/3811992.html
Copyright © 2011-2022 走看看