Подменю чистого CSS и HTML исчезает - PullRequest
0 голосов
/ 20 декабря 2011

У меня есть меню, в котором есть подменю.подменю появляется при наведении курсора на главное меню, но как только я пытаюсь перейти в подменю, оно исчезает большую часть времени.Только если я буду очень быстрым, я смогу добраться до него, пока он не исчез.

HTML:

 <header>   
<div class="wrapper">
        <a href="#" id="logo" class="fl"><img src="images/logo.png" width="125" height="20" alt=""></a>
        <nav class="fl">
            <ul >
                <li> <a href="#" class="selected">Target Groups</a>
                <ul>
                    <li><a href="">Manage Target Groups</a></li>
                    <li><a href="">Create Target Group</a></li>
                </ul>   
                </li>
                <li><a href="#">Activity</a></li>
                <li><a href="#">Reports</a></li>
                <li><a href="#">Settings</a></li>
                <li><a href="#">Admin</a></li>
            </ul>
        </nav>
            </div>
            <!-- end .wrapper -->
    </header>

CSS:

header{
margin-top: 30px;
background: url(../images/header-bg.png) no-repeat; 
width: 942px;
height: 76px;
padding: 27px 25px 5px;
}
header .wrapper{
    border-bottom: 1px solid #e5e5e5;
    float:left;
    width: 862px;
    padding: 0 40px 5px;        
    position:relative;
}
header nav{
    margin-left: 45px;          
}
header nav ul{
    z-index: 100;
}
header nav ul li{
    display: inline;    
    margin-right: 35px;
    line-height: 20px;
    z-index: 100;
}
header nav ul li ul{
    display: none;
    position:absolute;      
    width: 962px;
    left: 0;
    top: 40px;  
}

header nav ul li ul li{
    float: left;    
}

header nav ul li:hover ul{
    display:block;  
}
header nav ul li a{
    font-size:16px;
    color: #5b666a;
    text-decoration: none;  
    padding: 5px 10px;
}
header nav ul li a.selected,header nav ul li a:hover{
    background: #657073;
    color: white;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px; 
}

Я действительно застрял, пожалуйста, помогите ...

Ответы [ 2 ]

2 голосов
/ 20 декабря 2011

Для достижения того, что вы хотите, лучше использовать padding-top для вашего подменю, а не абсолютное позиционирование (с последним вы получите «пустой» пробел между меню и подменю, что приведет к отключению мыши):

http://jsfiddle.net/BAzx7/

РЕДАКТИРОВАТЬ: И я добавил position:relative; к ul li, а нижний z-index к ul li ul, в противном случае подменю будет над главным меню - и отключить его ...

http://jsfiddle.net/BAzx7/1/

0 голосов
/ 20 декабря 2011

Я также исправил это с hoverIntent на одном из моих выпадающих меню.В то время это была эксклюзивная ошибка IE, но ее было легко исправить.

http://cherne.net/brian/resources/jquery.hoverIntent.html

Так выглядела моя функция.

    $('.main-nav > ul > li').hoverIntent({
        timeout: 300,
        over: function () {
            $(this).addClass('hover')
        },
        timeout: 300,
        out: function () {
            $(this).removeClass('hover')
        }
    });

Моя разметка была вта же структура, что и у меню сыновья рыба.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...