0

我遇到隐藏在下一行菜单后面的子菜单的问题。 菜单 对比 子菜单打开

我搜索了很多主题和问题,基本上每个人都说我需要将 z-index > 100 添加到我的子菜单中。我在所有地方都尝试过,子菜单存在但没有任何效果。

你知道如何让它正常工作吗?

这是我的代码:

#header #nav{
    float:right;
    margin:0px;
    position:relative;
    z-index:100;
}

#header #nav > li {
    display:inline-block;
    margin:0;
    position:relative;
    z-index:100;
}

#header #nav > li > a{
    color:#727272;
    border:none;
    background:none;
    font-size:11px;
    font-weight:700;
    height:60px;
    line-height:59px;
    display:block;
    padding:0 15px;
    background:none center bottom;
    position:relative;
}

#header #nav > li > a:hover{
    color: #0073fe;
}

#nav li ul.sub-menu{
    width:210px;
    background:#fff;
    position:absolute;
    border:1px solid #ececec;
    border-top:2px solid #0073fe;
    margin:0;
    top:96%;
    padding:0 15px;
    display:none;
    -webkit-box-shadow:  0px 2px 50px 10px rgba(0, 0, 0, 0.05);
    box-shadow:  0px 2px 50px 10px rgba(0, 0, 0, 0.05);
    margin-top:2px;        
}

#nav li ul.sub-menu > span{
    position:absolute;
    top:-6px;
    left:30px;
    width: 0;
    height: 0;
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    border-bottom: 6px solid #0073fe;
}

#nav li ul.sub-menu > li{
    margin:0;
    width:100%;
    display:block;
}

#nav li ul li a{
    font-size:11px;
    font-weight:700;
    display:block;
    padding:7px 0px;
    color:#727272;
    border:none;
    border-bottom:1px solid #ececec;
}

#nav li ul li a:hover{
    color: #0073fe;
}

#nav li ul li:last-child a{
    border-bottom:none !important;
}

#nav li ul li ul.sub-menu{
    margin-left: 190px !important;
    margin-top: -35px !important;
}

.slogan{
    font-family: 'Open Sans', Helvetica, Arial, sans-serif;
    font-size:34px;
    line-height:35px;
    text-align:center;
    font-weight:300;
    letter-spacing: -0.01em;
    color:#000;
    padding:0px 30px 30px;
}
4

1 回答 1

0

所以你想要: submenu > menu; 意思是:#nav li ul.sub-menu > #header/#nav

问题是您将菜单设置为高 z-index 而不是子菜单(并导致:)submenu < menu

z-index 定义了一个“设置一个层”,你的元素将在哪里,如果它设置得比另一个高,那么它将出现在它的顶部。

您需要删除 and 的 z-index #header #nav#header #nav>li而是将高 z-index 放到#nav li ul.sub-menu.

#nav li ul.sub-menu {
    z-index: 50; //It doesn't have to be a hundred, 50 should do, or even 5...
}
于 2013-04-16T14:47:54.563 回答