html - 使用 css 和 html 添加垂直子菜单

标签 html css

我有一个使用 css 和 html 完成的菜单下拉列表。现在,我想在现有的子菜单上扩展子菜单,例如,当我将鼠标悬停在“审核报告”时,它应该垂直显示另一个子菜单。我怎样才能实现这一点?这是我现有的 css 和 html 代码.

enter image description here

CSS

  .menuPanel 
    {

        width: auto;
        height: 32px;
        top: 5px;
        border-bottom: 1px solid #808080;
        background-color: #4f4545;
    }


    .nav,.nav ul 
    {
        list-style: none;
        margin:0;
        padding:0;   
    }

    .nav {

        position:relative;
        left: 2px;
        height: auto;

    }

    .nav ul 
    {
        height:0;
        left:0;
        overflow: hidden;
        position:absolute;

    }

    .nav li 
    {

        float:left;
        position:relative;

    }


    .nav li a 
    {


        -moz-transition:1.0s; 
        -o-transition:1.0s;
        -webkit-transition:1.0s;
        transition:1.0s;
        background-color: #4f4545;
        display: block;
        color:#FFF;
        text-decoration:none;
        font-size:12px;
        line-height:32px; 
        padding:0px 30px;



    }


    .nav li:hover > a
     {
        background: #8CCA33;
        border-color: #6E67A6; 
        color:#fff;
    }





    .nav li:hover ul.subs 
    {
        height:auto; 
        width: 250px;  
        z-index: 10;
    }

    .nav ul li 
    {
        -moz-transition:0.3s; 
        -o-transition:0.3s;
        -webkit-transition:0.3s;
        opacity:0;
        transition:0.3s; 
        width:100%; 
    }


    .nav li:hover ul li 

    {
        opacity:1; 
        -moz-transition-delay:0.2s;
        -o-transition-delay:0.2s;
        -webkit-transition-delay:0.2s;
        transition-delay:0.2s;

    }


    .nav ul li a
    {
        background: #4f4545;
        border: 1px solid #808080;
        color:#fff;
        line-height:1px;
        -moz-transition:1.5s;
        -o-transition:1.5s;
        -webkit-transition:1.5s;
        transition:1.5s;

    }

    .nav li:hover ul li a 
    {
        line-height:32px;
    }

    .nav ul li a:hover 

    {
        background:#8CCA33;

    }

aspx页面设计

       <ul class="nav">
            <li><a href="Home.aspx">HOME</a></li>
            <li><a href="#">FILE &#9662</a>
                <ul class="subs">

                    <li><a href="TenantFileList.aspx">Tenants List</a></li>
                    <li><a href="UserFileList.aspx">Users List</a></li>
                    <li><a href="TenantRental.aspx">Tenant Rental</a></li>

                </ul>
            </li>


            <li><a href="#">REPORTS &#9662</a>
                <ul class="subs">
                    <li><a href="#">Audit Reports</a>
                     <ul>
                           <li><a href='#'>Sub Product</a></li>
                           <li><a href='#'>Sub Product</a></li>
                     </ul>
                    </li>
                    <li><a href="#">Leasing Reports</a></li>
                    <li><a href="#">Marketing Reports</a></li>


                </ul>
            </li>
            <li id="admin" visible="true" runat="server"><a href="#">ADMIN &#9662</a>
                 <ul class="subs">
                    <li><a href="SystemLogs.aspx">System Logs</a></li>
                    <li><a href="UserRequest.aspx">User Request</a></li>              

                </ul>
            </li>

            <li><a href="Login.aspx">LOG-OUT</a>


            </li>
        </ul>

    </div>

最佳答案

您必须为整个 block 的 .nav .subs ul 或 block 的单个元素的 .nav .subs ul li 执行新的 CSS 样式

示例:

.nav .subs li ul
{
    max-height: 0;
    -moz-transition:1.5s;
    -o-transition:1.5s;
    -webkit-transition:1.5s;
    transition:1.5s;
}

.nav .subs li:hover > ul
{
    max-height: 300px;
    height: auto;
}

.nav .subs li ul
{
    left: 250px;
    top: 0;
    overflow: hidden;
}

这只是显示新 block ,如果您将鼠标悬停在子菜单项上,现在您只需对其进行样式设置并将其放置在您想要的任何位置

JSFiddle 上的示例: http://jsfiddle.net/4sym7ry0/3/

关于html - 使用 css 和 html 添加垂直子菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31000332/

相关文章:

javascript - css 和 javascript 如何协同工作?

javascript - jQuery根据页面滚动添加/删除类

javascript - 将照片样式设置为其所在元素的大小

python - 使用 Django 1.5 的 Twitter Bootstrap

html - 如何在 Bootstrap 中正确使用文本溢出

html - 打印预览中未显示媒体打印 CSS 问题

javascript - 如何使用带有 onclick 函数的 document.getElementsByClassName 覆盖样式

jquery - 页面滚动时奇怪的 jquery/css 动画问题

jquery - 使 DIV 在 LI 单击时可见

java - 使用 jsoup 通过 Java 加载嵌套链接