Горизонтальные раскрывающиеся списки ссылок подпадают под содержание CSS

В настоящее время я работаю над созданием своей первой темы WordPress, и у меня проблемы с горизонтальным раскрывающимся списком. При наведении под содержимым появляются раскрывающиеся списки.

http://pennyjarrdesigns.com/assets/problem1.jpg (скриншот)

Я пробовал использовать z-index и настраивать относительное и абсолютное позиционирование, и ничего не работает. Добавление absolute к основному 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;
}

Я действительно чувствую, что упускаю из виду что-то простое здесь. Любые идеи? Спасибо!


person PennyJarr37    schedule 28.01.2013    source источник


Ответы (1)


У вас есть переполнение для .row как скрытое, что означает, что любой контент, выходящий за границы этого элемента, не будет отображаться.

Кроме того, хотя у вас есть дочерний элемент ul, установленный как position: absolute; и z-index: 9999;, их родительские элементы установлены как position:relative;, z-index не установлен выше элемента content. Таким образом, раскрывающийся z-индекс применяется только к его родительскому «измерению» (уровень z-индекса), а не к остальной части страницы. Это может вызвать проблему, но я не проверял это, просто работаю по памяти.

person Plummer    schedule 28.01.2013
comment
Да, это было так. Я удалил overflow: hidden и добавил z-index к родителю. Благодарю вас! - person PennyJarr37; 28.01.2013