Меню CSS не отображает подменю

0

У меня есть этот CSS для горизонтального меню:

    .nav > li:hover {
    background: #666666;
    text-decoration:none;
}
.active {
    background: #666666;
    text-decoration:none;
}
nav, ul, li, a {
    margin: 0;
    padding: 0;
}
a {
    text-decoration: none;
}
.container {
    width: 100%;
    margin: 10px auto;
}
.toggleMenu {
    display: none;
    background: #666666;
    padding: 10px 15px;
    color: #ffffff;
    width:100%;
    text-align:center;
}
.nav {
    list-style: none;
    *zoom: 1;
    background:#f36f25;
    text-align: center;
}
.nav:before,.nav:after {
    content: " "; 
    display: table; 
}
.nav:after {
    clear: both;
}
.nav ul {
    list-style: none;
    width: 12em;
}
.nav a {
    padding: 10px 15px;
    color:#fff;
}
.nav li {
    position: relative;
    text-align: left;
}
.nav > li {
    display: inline-block;
}
.nav > li > .parent {
    background-image: url("/images/downArrow.png");
    background-repeat: no-repeat;
    background-position: right;
}
.nav > li > a {
    display: block;
}
.nav li  ul {
    position: absolute;
    left: -9999px;
}
.nav > li.hover > ul {
    left: 0;
}
.nav li li.hover ul {
    left: 100%;
    top: 0;
}
.nav li li a {
    display: block;
    background: #666666;
    position: relative;
    z-index:100;
    border-top: 1px solid #ffffff;
}
.nav li li li a {
    background:#f36f25;
    color:#ffffff;
    z-index:200;
    border-top: 1px solid #ffffff;
}

@media screen and (max-width: 760px) {
    .active {
        display: block;
    }
    .nav {
        border-top: none;
    }
    .nav > li {
        display: block;
        border-top: 1px solid #ffffff;
    }
    .nav > li > .parent {
        background-position: 95% 50%;
    }
    .nav li li .parent {
        background-image: url("/images/downArrow.png");
        background-repeat: no-repeat;
        background-position: 95% 50%;
    }
    .nav ul {
        display: block;
        width: 100%;
    }
   .nav > li.hover > ul , .nav li li.hover ul {
        position: static;
    }

}

но элементы подменю не отображаются

вот скрипка с полным кодом: http://jsfiddle.net/WLtxp/

Теги:

2 ответа

1

Я думаю, вы хотели набрать li:hover вместо li.hover во многих ваших селекторах. У вас нет javascript для добавления класса hover. Итак :hover, вероятно, то, что вы имели в виду.

  • 0
    Ты прав. Попробуйте это jsfiddle. jsfiddle.net/WLtxp/3
0

Как ваша скрипка, его обходной способ jQuery для отображения отзывчивого меню.

Вы можете заставить его работать, меняя

document.body.clientWidth to $(window).width();

в вашем js.

  • 0
    см. обновленный код с включенным JS - jsfiddle.net/WLtxp/1 - этот точный код работает на другом сайте, а когда ширина страницы становится слишком маленькой, он скрывает меню и помещает туда ссылку меню
  • 0
    @charlie проверь обновленный ответ

Ещё вопросы

Сообщество Overcoder
Наверх
Меню