2014-01-27 4 views
0

У меня возникают проблемы при отображении выпадающего меню.Прерывистая ошибка при отображении выпадающего меню

скрипача: http://jsfiddle.net/GxrSk/

Простой HTML код:

<nav> 
     <ul id="top-menu"> 
     <li class="parent"> 
      <a href="#">MENU ITEM</a> 
      <ul class="sub-menu"> 
       <li><a href="#">ITEM 1</a></li> 
       <li><a href="#">ITEM 2</a></li> 
      </ul> 
     </li> 
     </ul> 
</nav> 

CSS-:

ol, ul { 
    list-style: none; 
    padding:0px; 
    margin:0px; 
} 


nav { margin-top: 28px; } 

#top-menu li { position: relative; } 

#top-menu > li { display: inline-block; margin-left: 40px; } 

#top-menu li a { font-family: "Ubuntu Condensed", sans-serif; color: #000; font-size: 16px; text-transform: uppercase; } 

ul.sub-menu { display: none; top: 26px; position: absolute; min-width: 137px; z-index: 9999; } 

ul.sub-menu > li > a { text-align: center; display: block; } 

#top-menu li:hover > ul.sub-menu { display: block; } 

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

Если кто-то не может понять, напишите в комментариях ниже.

+0

Попробуйте уменьшить верхнее значение в 'ul.sub-menu' – j08691

+0

не работают, = [испытание более чем один раз – user2752929

+0

я уменьшил сверху 19px, как было упомянуто j08691, и это похоже на работу Теперь. – TimSPQR

ответ

1

Смена верхней части на верхнюю часть.

padding-top: 20px; 
0

пытаются сделать ul.sub-menu { top:20px; }

ol, ul { 
    list-style: none; 
    padding:0px; 
    margin:0px; 
} 


nav { margin-top: 28px; } 

#top-menu li { position: relative; } 

#top-menu > li { display: inline-block; margin-left: 40px; } 

#top-menu li a { font-family: "Ubuntu Condensed", sans-serif; color: #000; font-size: 16px; text-transform: uppercase; } 

ul.sub-menu { display: none; top: 20px; position: absolute; min-width: 137px; z-index: 9999; } 

ul.sub-menu > li > a { text-align: center; display: block; } 

#top-menu li:hover > ul.sub-menu { display: block; } 
+0

Нет никакого способа, который не зависит от того, не изменит ли верхний? – user2752929

+0

дайте ему ширину и высоту для UL подменю и дайте ему отступы, я думаю, что он будет работать. Попробуйте это –

0

пропитание уменьшая топ-значение в ul.sub-menu, пока он работает.

+0

Нет никакого способа, который не зависит от того, не изменит ли он сверху? – user2752929

+0

Да, добавляется 'ul.submenu {margin-top: -6px; } 'в css :) – younis

+0

, если вы не хотите менять верхнюю часть и использовать ее только для интервала, вы должны просто использовать' padding-top: 6px' вместо 'top: 26px; position: absolute; ' – younis

Смежные вопросы