0

I am trying to implement a pure CSS menu on hover. Everything works except that when hide the menu and try to show it on hover...it doesnt happen.

Here is my HTML:

         <ul id="nav-menu">
            <li><a href="#" class="first" id="p-menu">A</a></li>
                <ul class="submenu">
                    <li><a href="#">1</a></li>
                    <li><a href="#">2</a></li>
                    <li><a href="#">3</a></li>
                    <li><a href="#">4</a></li>
                </ul>
            <li><a href="#">B</a></li>
            <li><a href="#">C</a></li>
            <li><a href="#">D</a></li>
            <li><a href="#">E</a></li>
            <li><a href="#">F</a></li>
            <li><a href="#">G</a></li>
            <li><a href="#" class="last">H</a></li>
        </ul>

And My CSS:

  #nav-menu {
   position: relative;
     }

       #header .submenu {
        width: 158px;
            height: 133px;
background: url(../images/submenu-bg.png) no-repeat;
position: absolute;
top: 49px; left: -11px;
display: none;

}

            #header .submenu li a {
display: block;
margin: 10px 66px 5px 20px;
border: 0 none;

}

        #header .submenu li a:hover {
display: block;
margin: 10px 66px 3px 20px;
border: 0 none;

}

           #nav-menu #p-menu:hover ul.submenu {
display: block!important;

}

Any help would be highly appreciated.

2

3 Answers 3

1

Write like this:

<li id="p-menu">
 <a href="#" class="first">A</a>
   <ul class="submenu">
    <li><a href="#">1</a></li>
    <li><a href="#">2</a></li>
    <li><a href="#">3</a></li>
    <li><a href="#">4</a></li>
   </ul>
</li>
Sign up to request clarification or add additional context in comments.

Comments

0

Your sub menu ul should be nested within your li, not after it. Otherwise this is invalid HTML. Also you should put your p-menu id on the li instead of the a.

Change:

<li><a href="#" class="first" id="p-menu">A</a></li>
<ul class="submenu">
   <li><a href="#">1</a></li>
   <li><a href="#">2</a></li>
   <li><a href="#">3</a></li>
   <li><a href="#">4</a></li>
</ul>

To:

<li id="p-menu"><a href="#" class="first">A</a>
   <ul class="submenu">
      <li><a href="#">1</a></li>
      <li><a href="#">2</a></li>
      <li><a href="#">3</a></li>
      <li><a href="#">4</a></li>
   </ul>
</li>

-- SEE EXAMPLE --

2 Comments

@sandeep Sorry I don't understand?
Sorry, i didn't saw you put id="p-menu" in LI
0

Your <ul> submenu is outside the <li> tag

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.