Noupe Editorial Team April 17th, 2008

Multilevel Drop Down Navigation Menus: Examples and Tutorials

Kein Beitragsbild

Noupe Editorial Team

The jungle is alive: Be it a collaboration between two or more...

 Sponsors love


Navigation menus are the most important element one should pay attention when designing a website. Web-developers can create user-friendly horizontal or vertical navigation menus using CSS. Javascript makes it possible to create more interactive, more responsive and more flexible navigation to any website.

This article presents over 25 (horizontal and vertical) multilevel drop down menu built using Javascript and CSS which you can use in your future projects. Also you will find some useful tutorials at the end of this post where you can use to start building your own multilevel navigation menu.

You might check out these posts as well:


Horizontal and vertical drop down menus

1) Drop Down Tabs (5 styles)– Drop Down Tabs is a horizontal CSS tabs menu that supports a second level drop down menu for each of its tabs.


2) Professional Dropdown


3) Multi-level effect menu– Is a very configurable javascript/css hybrid dropdown menu that is capable of producing simple menus(both horizontal and vertical).


4) FastFind Menu– A jQuery nested menus, based on dynamic “AJAX” responses. The menu can also be dragged/dropped.


5) jQuery SuckerFish– Replicate Suckerfish Menus.


6) Fancy Sliding Tab Menu using script.aculo.us


7) List Based Menu with Images– This is a menu based on an unordered list (<UL><LI>). It makes the menu easy to use and friendly to search engines.


8 ) Slide down menu– A slide menu based on an unordered list (<UL><LI>).


9) Dropdownmenu made with scriptaculous/prototype– A multi level drop down menu.


10) Suckerfish-style menu plugin for jQuery– This demonstrates a two-tiered horizontal menu that displays the path to the current page when the menu is in its idle state.


11) Building a dynamic drop down menu


12) onMenuOpen onMenuCollapse Events– This is a one-time effect that shows off the menu opening up and firing an event, and then finishing with another event.


13) Mootools menu with accordion and effects– This simple menu has a neat effect by hovering over the links, and opens a submenu with an accordion.


14) Mootools Unlimited Drop Menu


15) Creating an Outlook Navigation Bar– Using the ListView and Accordion Controls


16) Simple CSS vertical menu Digg-like– This tutorial explains how to implement a simple vertical menu digg-like using CSS and javascript to show/hide sub-menu.


17) Drop down menu with Prototype– A unique drop down navigation that recursively applies a function to an li that toggles the visibility of a nested ul element.


18) Drop down menu with nested submenus– Using CSS and a little JavaScript


19) Drop down menu with jquery– A drop down animated menu example made with jquery


20) jdMenu Hierarchical Menu– The jdMenu plugin for jQuery provides a clean, simple and elegant solution for creating hierarchical drop down menus for websites to web applications.


21) jQuery plugin: Treeview– Lightweight and flexible transformation of an unordered list into an expandable and collapsable tree, great for unobtrusive navigation enhancements.


22) Drop Down menu


23) Accessible fold-out menu


24) Accordion Menu script– This example illustrates how you would add a collapsible sub level.


25) Complex Dynamic Lists– Using an unordered list, to display a hierarchical structure of a complexity that would be very hard to achieve with dynamic select boxes.


26) Chrome CSS Drop Down Menu– Chrome Menu is a CSS and JavaScript hybrid drop down menu. It’s easy to configure and search engine friendly.


Drop Down Menu Tutorials

CSS Pop-Out Menu Tutorial


CSS Express Drop-Down Menus– CSS Express menus should only be used in a horizontal orientation with a single drop-down level.


Son of Suckerfish Dropdowns– An accessible, light weight (just 12 lines of JavaScript), with great compatibility and can have multiple-levels.


Drop Down Menu Generator

Izzymenu– With an impressive Ajax interface, you can build your own CSS drop down DHTML sub-menu in minutes without writing a single line of code.


Noupe Editorial Team

The jungle is alive: Be it a collaboration between two or more authors or an article by an author not contributing regularly. In these cases you find the Noupe Editorial Team as the ones who made it. Guest authors get their own little bio boxes below the article, so watch out for these.

106 comments

  1. Nice tutorial here, I use Dreamweaver for web design and in My opinion, sub categories navigation is not so good looking in vertical menu. But I like them as drop down in horizontal navigation. Off course who like opening a door and finding one more door in it? :-)

  2. Please don’t use multi-level drop downs. They are html evil incarnate! If you find yourself in a situation where you have no choice, you took a wrong turn somewhere and need to go back and retrace your steps.

    1. Mr.C. You are right. After having incorporating HVMenu, now I am finding it as a trouble. When I work with CSS for printing purpose, the multilevel HVMenu gives me headache as it is not hiding. Only when I want to overcome the problem, I found your comment!. How exactly it is true. As you said, now I am retracing my steps by wasting a lot of time.

  3. I should say that single level drop downs are ok and in many places a good design choice, just avoid taking them multi-level.

  4. what about accessibility (508) and JAWS reading submenu items? I can’t get the readers to “see” the submenus. I have run into this problem with no solution.

  5. i have question for you !!!

    can i put professional drop down menu in my blog site???
    how can i get it ???
    could you tell me please how to put drop down menu in my blog ???

    thanks before

  6. I’d like to add my 2 cents on multi-level drop-downs. I agree that in most cases they make a site too “busy.” However, they have their place and appeal to a certain audience (especially in b2b apps). For example, if you’ve ever been on the Dell Premier site, you know you would KILL for a multi-level nav menu so you don’t have to wait for their agonizingly slow pages to load.

    I think the important thing is not to FORCE a user to use multi-level navigation. In other words, every item in the header menu should be clickable. The same wich each item in every level of the sub-menus. So if the user doesn’t want to deal with the menus, they can bypass them and be taken to a wizard-like page instead. This allows you to appeal to the type-A’s who will use the multi-menus as well as the slackers who want to be led by the hand.

  7. I have downloaded your scriptaculous multi level dropdown menu and converted it for my website donsgarden.co.uk. It is working, but firebug reports:- “uncaught exception: script.aculo.us requires the Prototype JavaScript framework >= 1.6.0.3
    Line 0″”
    Safari reports an RJS error.
    When I replace the prototype that I am using (1.6.0.1) to 1.6.0.3 the menu does not work. I developed the menu on a local copy using Mongrel, Ruby 1.8.7, Rails 2.3.4, Scriptaculous 1.8.3, Prototype 1.6.0.1. The javascripts came with the scriptaculous download. Firebug also does report an uncaught exception.
    My website host server is using Ruby 1.8.6 and Rails 2.2.2.
    Is there a reason that you know about for this error.

    1. I solved my problem. What I did was to create a blank rails application and copy all the javascript files to my website overwriting those I downloaded with Scriptaculous. Bingo no more errors. The fact that my ISP server is usingh 2.2.2 and not 2.3.4 does not seem to matter.

  8. Dreamweaver has been lately my personal goto application for years. I truly don’t know what I would undoubtedly do without having it. There were moments when I initially started out making use of the program, and I thought it was way too complicated. Now I fly around it, and it has become a strong asset in my personal tool box. Nonetheless thanks for the article.

  9. You can see more samples on horizontal or vertical drop down menu for Creative DW Menus which is a Dreamweaver extension. Here are the samples extendstudio.com/creative-dw-menus-pack/samples.html

  10. Hi i love the content! However, the code/info for #8 slide-down menu doesn’t work. It pulls up a page with weird info. Thanks!

  11. I have written a jQuery plugin that supports infinite level of unordered lists. It is easy to implement, and has been tested in Internet Explorer 6+, Firefox, Safari, and Chrome.

  12. Please help!!!

    I used the menu (8) described but the hyper-link inside the list items does not go to anywhere. Why? The link has no respond when I clicked. How to enable the link?

    8 ) Slide down menu- A slide menu based on an unordered list ().

  13. Nice tutorial .I need to make a drop down menu for my Website and your tutorial is really nice . Thanks a lot for the support.

  14. Hi – I am trying to find a nice drop down for my site – My site covers many cities; I would like to have a drop down menu for the cities on my site – so it would be easier to view the information – would this site help me? thanks

  15. i was searching for drop down menu code in html. I found this tutorial. Very good explanation. Please tell me the code also to create drop down menu.

  16. I am looking for a selectable dropdown with subcategories. I need to pull the subcategories id into the select box.

    How do i do?

  17. Hullo,
    I am using jGlideMenu that seems to work seamlessly but for a very annoying and blocking issue. Namely it transforms all input fields in the page in a sort of listboxes for the previous entered values without the possibility of entering new texts. I tried to investigate jQuery.jGlideMenu.067.min.js, as by removing it input fields return to work normally, but I found nothing suggesting a modification of the input fields behaviors. May you help me?
    Thanks, Fabrizio Bartolomucci

  18. I fixed the above mentioned problem by removing the keyboard handler. Now I am stuck with another problem. I use the JGlideMenu in a single page in a tab bar. The problem is that it shows up in all subpages, not only the one were I inserted it. I tried to hide it in the buttons changin page but it only works when clicking the buttom where is the control, even if I included the ajax files even in the other panel. Any best practice how to handle it? I am thinking of moving everything on the top page, even if that would encompass a duplication, but I am not sure it will work.

Sorry, Comments are closed...