0

我目前正在创建我的第一个 wordpress 主题,但在水平下拉菜单中遇到了问题。悬停时,下拉菜单显示在内容下方。

http://pennyjarrdesigns.com/assets/problem1.jpg(截图)

我尝试使用 z-index 并调整相对和绝对定位,但似乎没有任何效果。将绝对值添加到导航周围的主 div 会产生以下结果:

http://pennyjarrdesigns.com/assets/problem2.jpg(截图)

下拉列表现在可见,但它破坏了布局。

这是html/php:

<div class="container">
<div class="row">
    <div class="twelvecol last" id="nav">
        <?php wp_nav_menu( array( 'sort_column' => 'menu_order', 'menu_class' => 'nav', 'theme_location' => 'primary-menu' ) ); ?>

    </div>

</div>

CSS:

#nav{background: #4b4261;
margin-bottom: 2%;
color: #f4e1c8;
 }

.nav{
width:100%;
background: #4b4261;
display:block;
float:left;
position:relative;
}

.nav ul{
list-style:none;
}

.nav li{
display:inline-block;
position:relative;
}
.nav a{
display:block;
text-decoration:none;
color:#f4e1c8;
padding:0 15px 10px 0;
font-size: 1.2em; 
font-weight:bold;
}

.nav ul ul{
display:none;
position: absolute;
left:0;
top: 100%;
float:left;
z-index:99999;
background: #c1c5cc;
}

.nav ul ul ul{
top: 30%;
left:100%;
background: #dfe1e8;
}

.nav ul ul a{
height:auto;
line-height:1em;
padding:10px;
width:130px;
}

.nav li:hover > a,.nav ul ul:hover > a{
color:#fff;

}

.nav ul li:hover > ul{
display:block;
 }

网格CSS:

.container {
padding-left: 20px;
padding-right: 20px;
}

.row {
width: 100%;
max-width: 1140px;
min-width: 755px;
margin: 0 auto;
overflow: hidden;


}

.onecol, .twocol, .threecol, .fourcol, .fivecol, .sixcol, .sevencol, .eightcol, .ninecol, .tencol, .elevencol {
margin-right: 3.8%;
float: left;
min-height: 1px;
}

我真的觉得我在这里忽略了一些简单的事情。有任何想法吗?谢谢!

4

1 回答 1

0

您将溢出.row作为隐藏,这意味着任何超出该元素边界的内容都不会显示。

此外,虽然您将子 ul 元素设置为position: absolute;and z-index: 9999;,但它们的父元素设置为position:relative;没有设置在content元素上方的 z-index。因此,下拉 z-index 仅适用于其父“维度”(z-index 级别),而不适用于页面的其余部分。这可能会导致问题,但我没有测试它,只是从内存中工作。

于 2013-01-28T18:49:36.403 回答