Designing Drop-Down Menus: Examples and Best Practices


As a general rule, most Web developers, especially usability enthusiasts, say it is bad practice to use drop-down menus because they are confusing, annoying and oftentimes dysfunctional. From a design standpoint, however, drop-down menus are an excellent feature because they help clean up a busy layout. If structured correctly, drop-down menus can be a great navigation tool, while still being a usable and attractive design feature.

Yes, that’s right: drop-down navigation menus can be user-friendly. Just yesterday Jacob Nielsen the results of his recent drop-down menus study1, in which he found out that big, two-dimensional drop-down panels that group navigation options help users to avoid scrolling and can precisely explain the user’s choices with effective use of typography, icons, and tooltips.

These panels appear temporarily and disappear on their own when users move the pointer to another top-level option or to a “regular” part of the screen. You can find more information about Nielsen’s study in his article Mega Drop-Down Navigation Menus Work Well2.

Huge vertical drop-down panel from foodnetwork.com4; notice a close button (the “x” in the upper right corner).

In this article we take a closer look at the nature of drop-down navigation menus, analyze situations in which they should or should not be used, discuss various implementations and finally showcase a couple of bad and good examples of such menus. The article also includes various tips and suggestions to help you work with your drop-down menus.

Where To Use Drop-Down Menus

You will often see many trends in which drop-down menus are used. Here are a few of the most common ones.

Organize Pages in a Section
Most commonly, drop-down menus are used to pull all of the pages in a certain category together in one organized element. This is essentially sub-navigation. Take a look at the design below. A drop-down element contains all of the different categories for a certain section of the website.


Organize Categories in a Blog
You will see many blogs use a drop-down menu to organize categories and tags. Why? Blogs are driven by a large amount of information, so the layout needs to be as clean as possible to hold that content. A drop-down menu ultimately helps pull together links, such as categories, out of layout elements, such as the sidebar.


Show Products on an eCommerce Website
You will see many e-commerce websites use drop-down menus to show products or categories of products. The drop-down menu is a friendly feature that all consumers can easily figure out, so it is a perfect way to organize products. The Best Buy website, shown below, does just this.


Display Modules
A drop-down can be an excellent way to tuck away an obstructive menu, which the user can click on to reveal. Take the example below, for instance. The sign-in element is part of the navigation, then appears in the form of a drop-down. This is a great way to take this large element out of the layout without negatively impacting usability.


Best Practices

Drop-down menus do in fact organize content into small, uncluttered elements, but if not done correctly, they can be just as bad as a messy layout. Here are some ways to make this controversial element more usable.

Avoid a Drop-Down with More than Two Levels
Overall, this is just about the worst mistake one could make with drop-down menus in terms of usability. If done with a hover menu structure, the user will lose focus of the menu whenever the mouse pointer moves away from it. If done with a clickable structure, it has too many buttons and doesn’t work nicely.

The website shown below makes this mistake. The menus are very difficult to use because if you even slightly lose focus of the menu with the mouse pointer, you have to start from the top. Notice the tooltip, which also gets in the way of the navigation.


Option 1: Hover Menu
Basically, there are two ways to approach the drop-down menu: with either a hover or a click to activate the menu. From a design and convenience standpoint, a hover menu is better.

Option 2: Clickable Menu
On the other hand, many will argue that a clickable menu is better because it is much more usable. Reason? Because of the way a hover menu is constructed, the user has to have the pointer over the menu at all times. If the user loses focus of the hover menu, it closes. Therefore, it is better to go with a drop-down menu that is activated by clicking a button, then deactivated by clicking the button once more.

CSS-Tricks has a tutorial showing how to create a layout similar to that of Digg. It is a perfect drop-down menu with a click-to-activate/deactivate feature, so it’s certainly something you should take a look at.


Also, Google features a usable drop-down menu using the click on/off trick.


Delay the Deactivation of a Hover
Avoiding a hover structure and many levels in a drop-down may be too much of a restriction for the navigation you are trying to create. There is a solution, though, that can improve the usability of a hover and multi-level menu. With most menus, the drop-down disappears immediately after the user moves the mouse pointer away from the menu. The solution is to delay its disappearance. Or, have a click function that requires users to click outside the menu area to close the drop-down, similar to how a Lightbox functions.

Take Dell, for example. It uses a multi-level drop-down menu, but it is still somewhat usable. This is the only exception to the use of multi-level drop-down menus.


Furthermore, the menu on the Porsche website has multiple levels. However, the menu has a very wide focus range. This means you have to move your pointer a certain distance away from the menu to close it.


Add a Hover Effect to Menu Options
The navigation itself actually affects the usability of the drop-down menu. One way to make the menu work better with the drop-down is to add a hover effect to the menu options. This shows exactly which button in the navigation the menu is extending from, which will certainly help users.

The example below, the MediaTemple home page, shows a strong hover effect on the navigation options, which helps to support the drop-down menu.


Seamless Transitions
When a drop-down menu appears, it should appear seamlessly and without interruption. The menu should load immediately. Many websites make the mistake of making the menu so “heavy” that it takes more than an instant to load upon the hover.

Transition effects are one more detail that can look really cool. Instead of the menu simply appearing, try throwing in a wipe down or fade in. Just be sure to make the transition quick and not disruptive.

You will notice that Microsoft doesn’t do a very good job of creating a seamless menu. Observe the image below closely. You will notice that outlines from adjacent menus are still visible when the main menu is loading. When you move from button to button in the navigation, the drop-down menus have a slight lag, which looks bad. Of course, this doesn’t occur in all browsers, but it shouldn’t occur in any.


Remove Tooltips
Of course, when designing drop-down menus, there are always little details that impact usability. One important practice you may overlook is the presence of tooltips, or the lack of tooltips. You should always remove tooltips from buttons with drop-down menus. Reason? Tooltips just get in the way and sometimes even block the first list item in the drop-down menu.

Yes, we will be picking on Microsoft once more. Microsoft makes this mistake on its corporate page. Notice how the tooltip blocks many of the list items, which makes navigation that much more difficult.


Styling Techniques

Content backgrounds can be somewhat of a challenge, too. The background has to be subtle, or it will ruin the content. Here are a few ways to liven up content backgrounds without going over the top.

Use a Clean List
Not only is the element styling important, but the content styling is important, too. Clean typography and a readable list are important. Use smart spacing between elements in the list, and add a border above and below list items.

The example below from Audi shows a very well-organized and readable list. The list items are separated, and there are even list item icons.


On the other hand, The Washington Post’s website has a very poor list in the drop-down menu. There is not enough spacing between list items, so the menu is very cluttered and difficult to use.


Hover Effects on List Items
All buttons need some sort of hover effect to be more usable. In drop-down menu lists, apply subtle hover effects, perhaps just a text color or background change. The White House website uses only a background change on list items, but it still helps the user.


Semi-Transparent Background
This won’t work for all designs, but you should consider a semi-transparent background for the menu. The website shown below has a transparency, so the user can still see through to the image background. The key to semi-transparent elements is to keep a strong and readable contrast.


Keep Styling Consistent with Menu
You will hear everywhere that consistency in styling is a must, and it certainly is. For navigation and a drop-down menu to work together as one unit, as they should, the styling needs to be similar. Use the same fonts and a similar background.

In the example below, the drop-down menu looks as it should.


Poorly Constructed Menus

Below are some examples of drop-down menus that fall short somewhere with styling and usability.

Navigant Consulting22
This menu is poorly styled and dysfunctional.


Although this menu is well-styled, it is difficult to use because of a bad hover effect.


The Toshiba menu is too small and does not follow good styling practices.


Like the Microsoft menu above, this one has a slight lag, which makes it hard to use.


The Chrysler page uses a drop-down menu with very small text, which makes it difficult to read.


These drop-down menus are rather fidgety and hard to use. The tooltip gets in the way, too, and directly above the main navigation is another drop-down menu. All of this makes it very difficult to navigate.


Creative Labs34
The menu below is cluttered and does not have a delayed hiding or similar technique, so it is not very usable.


Another hover menu that lacks usable features.


The black menu on the black design makes this drop-down difficult to use.


Good Drop-Down Menus

Here are many drop-down menus that have good usability and styling features.

A well-constructed hover menu with a good list.


A clean vertical drop-down panel with a lot of padding; notice, how the panel appear to be above other design elements. Simple and beautiful solution.


Helmy Bern44
A beautifully styled menu, with a fade transition.


This menu is cleanly styled and very readable.


This drop-down is very wide, so it is easy to keep the mouse in focus.


Philips has a large and usable drop-down module.


On the Walmart site, the user clicks on the area outside the menu to close it.


The Samsung menu is usable because of its large size and styling.


Epson shows another usable drop-down menu.


Mini Cooper58
This website uses a drop-down menu with delayed closing.


Here is another usable drop-down element.


Asus Global62
A well-styled menu that has delayed hiding.


A very clean drop-down menu.


A well-organized menu that has delayed closing.


This drop-down menu is simple yet functional.


A drop-down with very nice styling that matches the menu.


This menu is very basic but serves its purpose.


A small yet functional drop-down, with a graphic to show users that the button opens a menu.


A multi-level drop-down is used here, but a slight delay makes this one easier to use.


A very clean and well-organized drop-down element.


This menu is clean and has delayed hiding to improve usability and functionality.


Yahoo! Finance82
The menu on Yahoo! Finance has large buttons and icons to show where menus can be opened.


Related posts

Please consider visiting the following related posts:



  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
  20. 20
  21. 21
  22. 22
  23. 23
  24. 24
  25. 25
  26. 26
  27. 27
  28. 28
  29. 29
  30. 30
  31. 31
  32. 32
  33. 33
  34. 34
  35. 35
  36. 36
  37. 37
  38. 38
  39. 39
  40. 40
  41. 41
  42. 42
  43. 43
  44. 44
  45. 45
  46. 46
  47. 47
  48. 48
  49. 49
  50. 50
  51. 51
  52. 52
  53. 53
  54. 54
  55. 55
  56. 56
  57. 57
  58. 58
  59. 59
  60. 60
  61. 61
  62. 62
  63. 63
  64. 64
  65. 65
  66. 66
  67. 67
  68. 68
  69. 69
  70. 70
  71. 71
  72. 72
  73. 73
  74. 74
  75. 75
  76. 76
  77. 77
  78. 78
  79. 79
  80. 80|en_US
  81. 81|en_US
  82. 82|en_US
  83. 83|en_US
  84. 84
  85. 85
  86. 86
  87. 87
  88. 88

↑ Back to top Tweet itShare on Facebook

Matt Cronin is an avid graphic designer, web designer/developer, Cocoa programmer, photographer, digital artist, and the like. He also enjoys writing, and does quite a bit of writing for Smashing Magazine. He is currently working on a startup called VAEOU, which will have new services coming soon.

  1. 1

    @viz Drop down menus are useless but some still use them

    Think carefully about what you just said, I talk better sense sat on the loo!

    Great article, I found it very enlightening! Good work!

  2. 52

    The Helmy Bern image links to the wrong site (Sony USA.)

    Personally, I would place Helmy in the “Poorly Constructed” category. The navigation tooltips kill the graphic styling and dropdown effects.

    Still, this is a good article, and definitely worth bookmarking.

  3. 103

    It is worth mentioning that:

    1) Drop-downs are INACCESSIBLE in many ways (problems and good alternatives):

    2) They’re not meant to get you somewhere but to LET YOU DO SOMETHING

    I won’t bug you with more links. These two are pretty enough to make you think before you get caught by all the fancy stuff written in the article above, basically telling you how to make bigger evil less evil. I’m not an extremist, that’s just for educational purposes. In my opinion, such a big article regarding drop down menus technique not mentioning its very essential issues (everyone should be aware of) is simply not professional. I’d expect more from SM. If you think that’s just a bunch of bullshit, consider why most of the biggest and most popular sites (e.g. CNN, BBC, YouTube, etc.) avoid using drop-downs for navigation and ‘keep it simple, stupid’ instead.

  4. 154

    This article is a great compilation of best practices in drop-down menu front-end design.

    If you are ready to get started on your own, you need to check out the code for ADxMenu from Aleksandar Vacić. This is the best example I’ve ever seen. It is 100% CSS except for a small javascript file for IE6. link:

    I implemented it at and it worked great. For the record, they requested the multiple-level expanding menus, but because it is all organized in a giant it is great for SEO!

  5. 205

    Awesome post!
    Very usefull!

  6. 256

    Interesting article, but you left out one very big issue: Most of the sites you choose as being especially functional do not work without javascript. As someone who routinely disables javascript, I see no menus at Porsche or IBM, and the page never loaded at all. That’s not my idea of a good design.

  7. 307

    Even with background loaded on the ‘Navigant Consulting’ menu, it’s still to hard to read.

    Why do you have Javascript disabled? It’s 2009 man, gotta get with the times. As you stated, many major sites require the use of Javascript. If your worried about security, perhaps you should change your browser :)

  8. 358

    CSS drop down menus can be very useful when there are many areas to navigate to for a web site, but you failed to mention that working CSS should never be tied to or dependent on the browser having JavaScript running.

    There are quite a few sites I’ve seen that seem to think CSS navigation should not work unless you have JavaScript turned on, which completely defeats the reason for using CSS navigation in the first place.

  9. 409

    Oh please. Who disables JS nowadays? Disabling JS while using the internet is like disabling color when watching TV – you miss out on a lot of good stuff.

  10. 460

    Drop down menus are sure a tricky one – thanks for the samples you’ve put together! I like that a lot of the new menus seem to be more flat color areas with well separated large text links. The boxy, line-filled, compartmentalized menus of the past seem to be going away. Yahooo!

  11. 511

    Definitely look into ADxMenu for an excellent example of an easy, powerful, free, highly expandable, CSS drop-down menu structure that uses no Javascript (except for IE6).

    Having implemented it on, I swear by it. Google “ADxMenu”.

    Sorry for comment duplication: I seem to be having trouble getting my comments to post if I provide links. I get stuck at “awaiting moderation”. Is this normal for everybody when you put links in the comment?

  12. 562

    Are there any articles on this website that do not find a way to pick on Microsoft? Geesh!

  13. 613

    good topic.


  14. 664

    really nice post and roundup of some great inspiration

  15. 715

    I’m surprised this article didn’t mention the emerging trend of using 1 dropdown menu to display all navigation options.

    Here’s an example which uses Flash, though I think this could be done using jQuery just as easily:

  16. 766

    I was just wondering what the best option to show a search box for a corporate box was… and it is now very clear: a mega drop down

    Great article! thanks for the inspiration!

    • 817

      If you read Nielsen’s article he specifically cites search boxes as something that should be visible at all times (ie not in dropdown)

  17. 868

    Interesting article but there was no mention of keyboard navigation usability issues.

  18. 919

    RE: no javascript…

    There are a wide variety of reasons why someone might want or need to disable js. Here’s a short list:

    1. People who, due to a disability, use alternate methods of navigating the web. It is very common for poorly written javascript (read: almost all of it) to make it difficult or impossible to use keyboard/voice/etc. methods to access content or navigate. As a result, many turn off js in order to not have to deal with the headache.

    2. People who have older, slower machines, and can’t afford to get a new one. Even on my laptop, which isn’t super old, a poorly written script or two can bring the browser to its knees. The only real solution if you want to use the site? Turn off js or install noscript.

    3. Protection against XSS & CSRF attacks. These attacks are browser-independent, and will work just as well on Firefox, Safari, and Opera as they do on IE. Without the protection of an extension like noscript (or without turning off js) I need to trust every single site I visit to not have security holes. Given that I’ve personally found many XSS/CSRF vulnerabilities in supposedly trustworthy commercial sites with just cursory attempts (and I am not a skilled hacker) I have very little faith that can’t be compromised. Hence, noscript.

    I could go on, but my point is that any web developer who says, “It’s 2009, dude! Just turn on javascript already!” is pretty inconsiderate of the very good reasons why someone might not have js on. I think what’s really being said is, “I’m lazy and don’t want to put in the extra effort that would make my site work as plain HTML.”

  19. 970

    How do you achieve the transparent background effect? Also the swipe hover effect that media temple uses?

  20. 1021

    Great article!

  21. 1072

    In the mac.appstorm site, the last menu “how-to” goes to the right on mouseover. I’m using Firefox & 1280px resolution :S

  22. 1123

    Thanks for these navbar designs. I’m in the beginning stages of redesigning a friend’s site and of course it always helps to see what new at Smashing Magazine to get my creativity flowing.

  23. 1174

    Nice post – good to see some example of ‘what not to do’.

  24. 1225

    Nice collection, great article. I checked most of them, but i think Sony Drop Down Sucks

  25. 1276

    “Even with background loaded on the ‘Navigant Consulting’ menu, it’s still to hard to read.”

    Nonsense. Navigant Consulting’s menus are fine.

  26. 1327

    Nice collection but I would have used “best buy” as an example of what NOT to do, it’s not clear which heading that drop down menu is sitting under.

  27. 1378

    I think Xerox has a great downdown menu.

    A great use of Photography and color

  28. 1429

    you guys always help me!!
    I’ve been looking for some drop-down menu since morning.
    thanks a lot!

  29. 1480

    Tut for a mega drop-down menu will be nice.

  30. 1531

    I think TheITDepot Link[] has a brilliant dropdown.. I haven’t seen it on all broswers, but it definitely looks good on FF…

  31. 1582

    Now we need some tutorials on some of these effects.

  32. 1633

    I like the dropdown menu on the aviary site

  33. 1684

    I still think that about half of these examples use drop downs as a fix for an otherwise inefficiently structured website. They might look nice, if that’s what you’re going for.

  34. 1735

    @Idemium that’s utter and complete nonsense.

    I don’t know how many times i’ve had to put up with people telling me crap like that. Does this mean you ban scrollbars (god forbid a user scrolls the header in your page’s logo out of view!).

    Or how about a paper flyer. Let’s say I fold it, so the company’s big logo on the front is no longer visible. Do you really think I am going to feel bad about this company all of a sudden?

  35. 1786

    great post. i feel’s menu is elegant too…

  36. 1837

    Can anyone tell me how I remove tooltips without having to remove the title attr from the link?

  37. 1888

    Thanks for very informative article. Just one comment on Helmy Bern site: they forgot to prevent the animation queue – when you run fast with your mouse over the navigation back and forth, submenus are fading in and out again and again.

    Quick tip how to solve this is on the Learning jQuery website.

  38. 1939

    Cool; now, does anyone have links to some good tutorials or code-bases for any of these examples? :)

  39. 1990

    really great post but if you make a tutorial for drop down menus its will be super!

  40. 2041

    Excellent collection of does and don’ts.

  41. 2092

    Hi, nice article. Interesting to see that some big firms get it and other don’t :-)

    For a good overview of pure CSS based dropdown menus see also Stu Nicholls does a great job there. And also his menus with a touch of JS here.
    Recently he created a seperate page to showcase his cssmenus on
    If you’re interested in pure CSS options that work xbrowser check them out.

  42. 2143

    Well, I just wasted a week of my life trying to get a CSS drop-down menu to work on a corporate site I’m building. The problem isn’t the menu, but Internet Explorer. By the time I get the menu working right for everyone on Macs and most Windows users, someone with a funky IE configuration complains. There are fixes, sure, requiring an additional script (JS), but in the end, sure enough, there’s someone who has javascript turned off.

    I’m ready to tear the whole thing out and start over.

  43. 2194

    Thibaut Allender

    March 29, 2009 2:06 pm

    Interesting article and examples but I can’t agree on a few points:

    – Hover : if this is the best practice then explain me why ALL (or nearly every) operating systems and applications use clickable dropdown menus? Hover dropdowns appeared on the web and have become a widely used method but still BAD or unusable when badly implemented (as pointed out, you need delays and so on). Moreover, it’s harder and more time consuming to implement.

    – Click to close: yes, but you should attach an event to the document so clicking anywhere closes the menu as well.

    – Levels : only one is enough, question yourself about your website architecture if you need more. A secondary navigation in heavy sections is a far better option.

    I would also warn readers about mixing dropdown menus with flash content… Don’t forget to set the wmode parameter of your flash object to “opaque” or “transparent” otherwise the flash object would always be on top (even if the z-indexes are correctly defined).

    My 2 cents…

  44. 2245

    good info

  45. 2296

    Great article……
    Very useful….

  46. 2347

    i just want to know how to hide the javascript file, what had done for their mega menu. i know that with javascript it can not be done.


  47. 2398

    sorry for the typo,
    in the above comment i just wanted to say “It can not be done without the help of javascript”.

  48. 2449

    Amaging………….. WOW

  49. 2500

    another extensive menu drop down

  50. 2551

    I just love You for theese posts! Thanks again


↑ Back to top