Question

i have a question about my dropdown menu, it won't drop down and i have searched here on the stackoverflow (which helped me a lot with other things) but i can't find the problem that i have

this is my html code: p.s. i use in the html code

<ul>

    <li><a href="radio.html">Radio</a></li>

        <ul>

            <li><a href="web.html">Webradio</a></li>
            <li><a href="win.html">Winacties</a></li>

        </ul>

    <li><a href="playlist.html">Playlists</a></li>

        <ul>

            <li><a href="vandaag.html">Playslist van vandaag</a></li>
            <li><a href="win.html">Playlist van de week</a></li>

        </ul>

    <li><a href="nummer.html">Welk nummer was dat?</a></li>
        <ul>

            <li><a href="welke.html">Nummers van vandaag</a></li>

        </ul>
    <li><a href="over.html">Over ons</a></li>

        <ul>

            <li><a href="wie.html">Wie zijn wij</a></li>

        </ul>
</ul>

and this is my css code:

nav ul ul{ display: none; }

nav ul li:hover> ul {display: block; }

nav ul {
background: #efefef; 
background: linear-gradient(top, #efefef 0%, #bbbbbb 100%);  
background: -moz-linear-gradient(top, #efefef 0%, #bbbbbb 100%); 
background: -webkit-linear-gradient(top, #efefef 0%,#bbbbbb 100%); 
box-shadow: 0px 0px 9px rgba(0,0,0,0.15);
padding: 0 20px;
border-radius: 10px;  
list-style: none;
position: relative;
display: inline-table; }

nav ul:after {content: ""; clear: both; display: block; }

nav ul li {float: left; }

nav ul li:hover {background: #4b545f;
    background: linear-gradient(top, #4f5964 0%, #5f6975 40%);
    background: -moz-linear-gradient(top, #4f5964 0%, #5f6975 40%);
    background: -webkit-linear-gradient(top, #4f5964 0%,#5f6975 40%); }

nav ul li:hover a {color: #fff; }

nav ul li a {display: block; padding: 25px 40px;
    color: #757575; text-decoration: none; }

nav ul ul {
background: #5f6975; border-radius: 0px; padding: 0;
position: absolute; top: 100%; }

nav ul ul li {float: none; 
    border-top: 1px solid #6b727c;
    border-bottom: 1px solid #575f6a;
    position: relative; }

nav ul ul li a {padding: 15px 40px;
        color: #fff; }  

nav ul ul li a:hover{background: #4b545f; }

nav ul ul ul { position: absolute; left: 100%; top:0; }

so what's wrong with my code? do i need to change something? is my code just wrong? what is it???

please help me, because i really need it it would really help if u guys will help me out :)

Was it helpful?

Solution 2

The problem is in your html, this:

<li><a href="radio.html">Radio</a></li>

<ul>

    <li><a href="web.html">Webradio</a></li>
    <li><a href="win.html">Winacties</a></li>

</ul>

Should be:

<li><a href="radio.html">Radio</a>

    <ul>

        <li><a href="web.html">Webradio</a></li>
        <li><a href="win.html">Winacties</a></li>

    </ul>
</li>

Notice how the first li is closed on the last line?

Then you can show the sub-menu with:

li:hover ul {display: block;}

OTHER TIPS

You're closing the parent li tags for the top level menu items, before including the submenu ul, change your HTML thus:

Demo Fiddle

<nav>
    <ul>
        <li><a href="radio.html">Radio</a>    
            <--! closing li should NOT be here -->
            <ul>
                <li><a href="web.html">Webradio</a>

                </li>
                <li><a href="win.html">Winacties</a>

                </li>
            </ul>
        </li> <--! closing li should be here -->
        <li><a href="playlist.html">Playlists</a>

            <ul>
                <li><a href="vandaag.html">Playslist van vandaag</a>

                </li>
                <li><a href="win.html">Playlist van de week</a>

                </li>
            </ul>
        </li>
        <li><a href="nummer.html">Welk nummer was dat?</a>

            <ul>
                <li><a href="welke.html">Nummers van vandaag</a>

                </li>
            </ul>
        </li>
        <li><a href="over.html">Over ons</a>

            <ul>
                <li><a href="wie.html">Wie zijn wij</a>

                </li>
            </ul>
        </li>
    </ul>
</nav>

As you have it, you are using invalid HTML, nothing should appear outside li children within ul.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top