user2153828
user2153828

Reputation: 1

Creating sub-menu for a child for a single drop down menu

I need a single drop down menu that is displayed only on hover. From the drop down menu list, I need a further list on hover on one of the child items.

The keyword/ parent is Subjects. On hover (on the word Subjects) it has to display:
Maths
English
Spanish
History
Science
Extra
Marks

On hover on the child Extra, it has to display 3 further items:
Arts
Sports
Community

I have tried both dropdown and dropup menus, but the child menu items (ie Arts, Sports and Community) are displayed even as I hover on the parent Subjects. They have to appear only on hover on Extra.

I'm CSS challenged, tried my best from drop down scripts downloaded online. But none seem to address this situation.

Here's the HTML for the menu. Not sure if I'm doing it right.

<nav id="subjectsNav">
    <ul>
        <li class="last"><a href="#" title="SUBJECTS">SUBJECTS</a>

            <ul>
                <li><a href="#" title="Maths">Maths</a>
                </li>
                <li><a href="#" title="English">English</a>
                </li>
                <li><a href="#" title="Spanish">Spanidsh</a>
                </li>
                <li><a href="#" title="History">History</a>
                </li>
                <li><a href="#" title="Science">Science</a>
                </li>
                <li><a href="#" title="EXTRA">EXTRA</a>
                </li>
                <ul id="extraNav">
                    <li><a href="#" title="Arts">Arts</a>
                    </li>
                    <li><a href="#" title="Sports">Sports</a>
                    </li>
                    <li><a href="#" title="Community">Community</a>
                    </li>
                </ul>
                <li><a href="#" title="Marks">Marks</a>
                </li>
            </ul>
        </li>
    </ul>
</nav>

Need help with the HTML and CSS for the above. Yours answers are much appreciated. Many thanks for taking your time.

Upvotes: 0

Views: 5012

Answers (1)

polybios
polybios

Reputation: 1159

extraNav submenu must be inside of parent list item:

<ul id="subjectsNav">
<li><a href="#" title="SUBJECTS">SUBJECTS</a>

    <ul>
        <li><a href="#" title="Maths">Maths</a>
        </li>
        <li><a href="#" title="English">English</a>
        </li>
        <li><a href="#" title="Spanish">Spanidsh</a>
        </li>
        <li><a href="#" title="History">History</a>
        </li>
        <li><a href="#" title="Science">Science</a>
        </li>
        <li><a href="#" title="EXTRA">EXTRA</a>
            <ul>
                <li><a href="#" title="Arts">Arts</a>
                </li>
                <li><a href="#" title="Sports">Sports</a>
                </li>
                <li><a href="#" title="Community">Community</a>
                </li>
            </ul>
        </li>
        <li><a href="#" title="Marks">Marks</a>
        </li>
    </ul>
</li>
</ul>

CSS:

/* Main */
#subjectsNav {
    list-style: none;
}
#subjectsNav li {
    width: 70px;
    display: block;
    float: left;
    position: relative;
}
#subjectsNav li:hover > ul {
    display: block;
}
/* Sub-menu */
 #subjectsNav ul {
    list-style: none;
    left: 0;
    margin: 0;
    padding: 0;
    display: none;
    position: absolute;
    z-index: 99999;
}
#subjectsNav ul li {
    float: none;
    display: block;
}
#subjectsNav ul ul {
    top: 0;
    left: 70px;
}

Demo: http://jsfiddle.net/Bc2sv/

Upvotes: 2

Related Questions