简体   繁体   中英

Hover not working on dropdown menu

I having problem with this dropdown menu, when you click on forms(link) open a menu, and if you move the out of the forms(links) the color change to blue and is hard to see it

any ideas how to fixed

Demo: http://jsfiddle.net/27Kgq/

HTML:

<nav id="menu">
<ul>
  <li><a href="#">Home</a></li> 
  <li><a href="#" id="showHide" class="act">Forms</a>  
    <ul id="smenu">  
      <li><a href="#" >Car Form</a></li>
      <li><a href="#">Job Fomr </a></li>
      <li><a href="#" target="_blank">Test Form </a></li> 
      <li><a href="#">Forms </a></li>  
    </ul>
  </li>
  <li><a href="#">Contact Us</a></li>
</ul>
</nav>

CSS:

nav#menu
{
    width:192px;
    background:#FFF;
    padding:0px;
    margin:-7px 0px 0px 0px;
}

nav#menu a
{
    color:#18819c;
    text-decoration:none;
    display:block;
    height:100%; 
    margin: -10px 0px 0px -10px;
padding: 10px 0px 10px 10px;
}

nav#menu ul li
{  
    width: 192px;
    margin: 5px 0px -8px -10px;
    padding: 10px 0px 0px 10px;
    border-bottom:2px solid #c9dce1;
}

nav#menu ul li:hover
{
    background:#0f7691; 
    color:#FFF !important;
}
nav#menu ul li a:hover 
{
    color:#FFF;
}

#smenu {
     display:none;
     background:#FFF;
     margin: 0px 0px 0px -10px;
     padding: 0px 0px 0px 30px;
}

#smenu ul
{
    margin:0;
}

#smenu ul li a:hover
{
    background:#FFF;
}

JS:

$(document).ready(function(){
  $('#showHide').click(function(){
    $('#smenu').slideToggle('slow');
  });
}); 

Use this selector nav#menu ul li:hover>a

See demo here
http://jsfiddle.net/27Kgq/1/

You're doing it wrong. Make your HTML like this

<nav id="menu">
<ul>
 <li><a href="#">Home</a></li> 
 <li><a href="#" id="showHide" class="act">Forms</a></li>  
 <li id="smenu">
     <ul>  
        <li><a href="#" >Car Form</a></li>
        <li><a href="#">Job Fomr </a></li>
        <li><a href="#" target="_blank">Test Form </a></li> 
        <li><a href="#">Forms </a></li>  
     </ul>
 </li>
<li><a href="#">Contact Us</a></li>
</ul>
</nav>

Add this to your css

nav#menu ul li:hover>a 
{
    color:#FFF;
}
<li><a href="#" id="showHide" class="act">Forms</a>

You need to close out your '< li>' tag. Always create the closing tag at the same time as your opening tag with HTML or XML.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM