• 使用CSS 制作导航菜单


     

    方式一:直接编写代码实现 

    代码如下:

    <html>
    <head>
    <title>无需表格的菜单</title>
    <style>
    <!--
    body{
        background-color:#ffdee0;
    }
    #navigation {
        width:200px;
        font-family:Arial;
    }
    #navigation ul {
        list-style-type:none;                /* 不显示项目符号 */
        margin:0px;
        padding:0px;
    }
    #navigation li {
        border-bottom:1px solid #ED9F9F;    /* 添加下划线 */
    }
    #navigation li a{
        display:block;                        /* 区块显示 */
        padding:5px 5px 5px 0.5em;
        text-decoration:none;
        border-left:12px solid #711515;        /* 左边的粗红边 */
        border-right:1px solid #711515;        /* 右侧阴影 */
        width:175px;     /* xg_超连接以外的部分也触发CSS样式效果 */
    }
    #navigation li a:link, #navigation li a:visited{
        background-color:#c11136;
        color:#FFFFFF;
    }
    #navigation li a:hover{                    /* 鼠标经过时 */
        background-color:#990020;            /* 改变背景色 */
        color:#ffff00;                        /* 改变文字颜色 */
    }
    -->
    </style>
    </head>
    <body>
    <div id="navigation">
        <ul>
            <li><a href="#">Home</a></li>
            <li><a href="#">News</a></li>
            <li><a href="#">Sports</a></li>
            <li><a href="#">Weather</a></li>
            <li><a href="#">Contact Me</a></li>
        </ul>
    </div>
    </body>
    </html>

     

    效果如下:

     

     

    方式二:使用jQuery 代码实现 

    代码如下:

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html>
    <head>
    <title>伸缩的菜单,用toggle()重写</title>
    <style>
    <!--
    body{
        background-color:#ffdee0;
    }
    #navigation {
        width:200px;
        font-family:Arial;
    }
    #navigation > ul {
        list-style-type:none;                /* 不显示项目符号 */
        margin:0px;
        padding:0px;
    }
    #navigation > ul > li {
        border-bottom:1px solid #ED9F9F;    /* 添加下划线 */
    }
    #navigation > ul > li > a{
        display:block;                        /* 区块显示 */
        padding:5px 5px 5px 0.5em;
        text-decoration:none;
        border-left:12px solid #711515;        /* 左边的粗红边 */
        border-right:1px solid #711515;        /* 右侧阴影 */
    }
    #navigation > ul > li > a:link, #navigation > ul > li > a:visited{
        background-color:#c11136;
        color:#FFFFFF;
    }
    #navigation > ul > li > a:hover{        /* 鼠标经过时 */
        background-color:#990020;            /* 改变背景色 */
        color:#ffff00;                        /* 改变文字颜色 */
    }
     
    /* 子菜单的CSS样式 */
    #navigation ul li ul{
        list-style-type:none;
        margin:0px;
        padding:0px 0px 0px 0px;
    }
    #navigation ul li ul li{
        border-top:1px solid #ED9F9F;
    }
    #navigation ul li ul li a{
        display:block;
        padding:3px 3px 3px 0.5em;
        text-decoration:none;
        border-left:28px solid #a71f1f;
        border-right:1px solid #711515;
    }
    #navigation ul li ul li a:link, #navigation ul li ul li a:visited{
        background-color:#e85070;
        color:#FFFFFF;
    }
    #navigation ul li ul li a:hover{
        background-color:#c2425d;
        color:#ffff00;
    }
    -->
    </style>
    <script language="javascript" src="jquery.min.js"></script>
    <script language="javascript">
    $(function(){
        $("li").find("ul").prev().click(function(){
            $(this).next().toggle();
        });
        $("li:has(ul)").find("ul").hide();
    });
    </script>
    </head>
    <body>
    <div id="navigation">
        <ul id="listUL">
            <li><a href="#">Home</a></li>
            <li><a href="#">News</a>
                <ul>
                    <li><a href="#">Lastest News</a></li>
                    <li><a href="#">All News</a></li>
                </ul>
            </li>
            <li><a href="#">Sports</a>
                <ul>
                    <li><a href="#">Basketball</a></li>
                    <li><a href="#">Football</a></li>
                    <li><a href="#">Volleyball</a></li>
                </ul>        
            </li>
            <li><a href="#">Weather</a>
                <ul>
                    <li><a href="#">Today's Weather</a></li>
                    <li><a href="#">Forecast</a></li>
                </ul>
            </li>
            <li><a href="#">Contact Me</a></li>
        </ul>
    </div>
    </body>
    </html>

    注意:该代码必须加载了jquery.min.js 文件,并且所写的CSS 只能在Firefox 浏览器中正常显示。

    方式三:实现伸缩的两级菜单

    代码如下:

    6-14.html
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html>
    <head>
    <title>伸缩的菜单</title>
    <style>
    <!--
    body{
        background-color:#ffdee0;
    }
    #navigation {
        width:200px;
        font-family:Arial;
    }
    #navigation > ul {
        list-style-type:none;                /* 不显示项目符号 */
        margin:0px;
        padding:0px;
    }
    #navigation > ul > li {
        border-bottom:1px solid #ED9F9F;    /* 添加下划线 */
    }
    #navigation > ul > li > a{
        display:block;                        /* 区块显示 */
        padding:5px 5px 5px 0.5em;
        text-decoration:none;
        border-left:12px solid #711515;        /* 左边的粗红边 */
        border-right:1px solid #711515;        /* 右侧阴影 */
    }
    #navigation > ul > li > a:link, #navigation > ul > li > a:visited{
        background-color:#c11136;
        color:#FFFFFF;
    }
    #navigation > ul > li > a:hover{        /* 鼠标经过时 */
        background-color:#990020;            /* 改变背景色 */
        color:#ffff00;                        /* 改变文字颜色 */
    }

    /* 子菜单的CSS样式 */
    #navigation ul li ul{
        list-style-type:none;
        margin:0px;
        padding:0px 0px 0px 0px;
    }
    #navigation ul li ul li{
        border-top:1px solid #ED9F9F;
    }
    #navigation ul li ul li a{
        display:block;
        padding:3px 3px 3px 0.5em;
        text-decoration:none;
        border-left:28px solid #a71f1f;
        border-right:1px solid #711515;
    }
    #navigation ul li ul li a:link, #navigation ul li ul li a:visited{
        background-color:#e85070;
        color:#FFFFFF;
    }
    #navigation ul li ul li a:hover{
        background-color:#c2425d;
        color:#ffff00;
    }
    #navigation ul li ul.myHide{    /* 隐藏子菜单 */
        display:none;
    }
    #navigation ul li ul.myShow{    /* 显示子菜单 */
        display:block;
    }
    -->
    </style>
    <script language="javascript">
    function change(){
        
    //通过父元素li,找到兄弟元素ul
        var oSecondDiv = this.parentNode.getElementsByTagName("ul")[0];
        
    //CSS交替更换来实现显、隐
        if(oSecondDiv.className == "myHide")
            oSecondDiv.className = "myShow";
        
    else
            oSecondDiv.className = "myHide";
    }
    window.onload = function(){
        
    var oUl = document.getElementById("listUL");
        
    var aLi = oUl.childNodes;    //子元素
        var oA;
        
    for(var i=0;i<aLi.length;i++){
            
    //如果子元素为li,且这个li有子菜单ul
            if(aLi[i].tagName == "LI" && aLi[i].getElementsByTagName("ul").length){
                oA = aLi[i].firstChild;    //找到超链接
                oA.onclick = change;    //动态添加点击函数
            }
        }
    }
    </script>
    </head>
    <body>
    <div id="navigation">
        
    <ul id="listUL">
            
    <li><href="#">Home</a></li>
            
    <li><href="#">News</a>
                
    <ul class="myHide">
                    
    <li><href="#">Lastest News</a></li>
                    
    <li><href="#">All News</a></li>
                
    </ul>
            
    </li>
            
    <li><href="#">Sports</a>
                
    <ul class="myHide">
                    
    <li><href="#">Basketball</a></li>
                    
    <li><href="#">Football</a></li>
                    
    <li><href="#">Volleyball</a></li>
                
    </ul>        
            
    </li>
            
    <li><href="#">Weather</a>
                
    <ul class="myHide">
                    
    <li><href="#">Today's Weather</a></li>
                    
    <li><href="#">Forecast</a></li>
                
    </ul>
            
    </li>
            
    <li><href="#">Contact Me</a></li>
        
    </ul>
    </div>
    </body>
    </html>

    注意:该代码在Firefox 下正常显示,但在IE6 下无法显示正常。

    jQuery1.2.3 下载 

    作者: XuGang   网名:钢钢
    出处: http://xugang.cnblogs.com
    声明: 本文版权归作者和博客园共有。转载时必须保留此段声明,且在文章页面明显位置给出原文连接地址!
  • 相关阅读:
    QT中的qmake详解
    Qt setStyleSheet 添加背景色/背景图片(取消背景色,读取本地文件作为背景色)
    目标HttpController在ASP.NET Web API中是如何被激活的:目标HttpController的选择
    分页写法小结
    SharePoint 2013 搜索高级配置(Search Scope)
    Scut游戏服务器免费开源框架-3
    物理数据模型(PDM)->概念数据模型 (CDM)->面向对象模型 (OOM):适用于已经设计好数据库表结构了。
    一种不错的扩展方式
    ORM框架
    代码最简化
  • 原文地址:https://www.cnblogs.com/xugang/p/1794679.html
Copyright © 2020-2023  润新知