zoukankan      html  css  js  c++  java
  • 纯CSS实现多级菜单,兼容IE6

    HTML

        <div id='nav'>
            <div class='welcome'>欢迎您:xxx <a href='#'>[退出登录]</a></div>
            <ul class='menu'>
                <li><a href='#'>样式雷图档</a></li>
                <li>
                    <a href='#'>样式雷世家相关文献
                        <table><tr><td>
                            <ul>
                                <li><a href='#'>雷氏族谱</a></li>
                                <li><a href='#'>雷氏祖茔碑拓片</a></li>
                                <li><a href='#'>雷氏祖先画像</a></li>
                            </ul>
                        </table></tr></td>
                    </a>
                </li>
                <li><a href='#'>工程籍本</a></li>
                <li><a href='#'>档案文献</a></li>
                <li><a href='#'>测绘图</a></li>
                <li>
                    <a href='#'>研究成果
                        <table><tr><td>
                            <ul>
                                <li><a href='#'>学位论文</a></li>
                                <li><a href='#'>期刊论文</a></li>
                                <li><a href='#'>专著</a></li>
                                <li><a href='#'>析出文献</a></li>
                            </ul>
                        </table></tr></td>
                    </a>
                </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>
                <li><a href='#'>查看个人信息</a></li>
                <li><a href='#'>修改个人密码</a></li>
                <li>
                    <a href='#'>任务菜单
                        <table><tr><td>
                            <ul>
                                <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>
                        </table></tr></td>
                    </a>
                </li>
            </ul>
        </div>

    CSS

    *{
        margin:0;
        padding:0;
    }
    #nav{
        width:200px;
        float:left;
    }
    #nav .welcome{
        width:100%;
        margin:10px 0 30px 0;
    }
    #nav a{
        text-decoration:none;
        color:#000000;
        white-space:nowrap;
    }
    #nav a:hover{
        color:red;
    }
    #nav ul{
        list-style-type:none;
    }
    #nav ul.menu{
        overflow:auto;
    }
    #nav ul a{
        display:block;
        border:1px solid #cccccc;
        float:left;/*防止菜单项换行*/
        clear:left;
        width:190px;
        line-height:30px;
        margin-bottom:2px;
        padding-left:5px;
    }
    #nav ul a a{
        width:180px;
        float:right;
        clear:right;
    }
    #nav table{
        border-collapse: collapse;
    }
    #nav ul a:hover{
        font-weight:bold;
        background-color:#ffffff;
    }        
    #nav ul a ul{
        display:none;
        width:190px;
    }
    #nav ul a:hover ul,#nav ul li:hover ul{
        display:block;
    }

    需注意的地方:

    1、在IE6中,好像仅a标签支持hover伪类

    2、将ul li组织的二级菜单放在a标签里,需要设置a标签的属性:display:block;,因为inline元素里不能嵌套block元素

    3、做了2中的设置之后,FF中布局都不正常,IE个版本中鼠标悬停在一级菜单的a标签上,二级菜单也不显示,搜到这个解释“if nothing happens to the <a> element on hover, usually nothing will happen on hover on any child elements either. A colour or background colour change is usually all that is required.”并参考这篇文章http://www.cnblogs.com/rubylouvre/archive/2009/09/28/1575294.html,在ul li组织的二级菜单外面在加一层表格,二级菜单可以显示了

    4、在2中设置a标签的属性:display:block;又引出了一个BUG:每个a标签包的菜单项后面都自动换行了。参考这篇文章解决http://www.elingxi.com/a/css/091E32010.html

     

  • 相关阅读:
    [LeetCode] Find Minimum in Rotated Sorted Array
    [LeetCode] Sort Colors
    [LeetCode] Invert Binary Tree
    最小的k个数
    连续子数组最大和
    [LeetCode] Majority Element
    [LeetCode] Reverse Linked List
    [LeetCode] Lowest Common Ancestor of a Binary Search Tree
    [LeetCode] Kth Smallest Element in a BST
    三种方式控制GPIO
  • 原文地址:https://www.cnblogs.com/acaciasun/p/3343618.html
Copyright © 2011-2022 走看看