Building a custom CSS navigation menu for yourself or a client is exciting. You’ve got a blank canvas to start with, and you can create anything. However, CSS menus aren’t simple. Engineering them might be old hat, but over the years, CSS menus have gotten stuck in a groove, skipping some of the most important elements. These elements, when skipped, often lead to a frustrating user experience.
Before diving into the creation of your next CSS menu, consider getting out of the groove by including the following features:
1. List items spaced out efficiently
We all love the way menu items look when there’s a single pixel of space between one item and the next in a drop-down menu. It’s elegant. The simplicity of that fine line adds to the “pixel perfect” appearance of the design.
There’s a downside to putting spaces between menu items, though, and it’s not a small problem. Spacing – even at one pixel – creates a gap within the element. When a user activates a drop-down menu with spaces between list items, and their mouse hovers over that space, the menu will disappear.
If your spaces are only one pixel, the chances of your menu disappearing on your users is small. However, if you’re using spaces larger than a couple of pixels, you’ve probably got some frustrated users out there.
For instance, this horizontal navigation menu looks fantastic, but has the gaps that can potentially create a frustrating user experience.
Rather than use spaces to create the appearance of a pixel-perfect drop-down menu, make your drop-down selections one solid element and use background colors to create separating lines. That’s not the only solution, though.
Mega menus – like the menu used by this CCTV company – are a great solution to eliminate the gaps and maintain elegance. When the mega menu drops down (for the majority of main menu items), the sub-menu area spans the full width of the menu. This is the key to absolute usability.
When the drop-down menu fills the width of the menu (as opposed to the usual cascade of multiple fly-out menus), navigating is effortless. The user can move their mouse around to any selection without having to start over because they’ve accidentally run into a gap.
Don’t reinvent the navigation wheel
If you’re in love with creating custom CSS from scratch, you can design your own menu. If, however, you just want to get on with your project, consider using (and customizing) a menu that’s already been designed. For most web projects, you’ll find plenty of useful CSS menus on GitHub.
If you’re using WordPress, it’s easy to install a mega menu plugin so you don’t have to do any of the work. UberMenu is one of the top choices. It’s only $20, has a 4.5-star score on Code Canyon, and has been downloaded over 69,800 times. There are other choices on Code Canyon for non-WordPress sites, too.
2. Use visual indicators for sub-menus
If your navigation labels are clear and specific, you’re ahead of the game. However, clear labels aren’t always enough to tell the user that’s where they’ll find their information when there’s a sub-menu hidden beneath.
When one of your main menu items activates a sub-menu, unless there’s a visual indicator that a sub-menu exists, your visitors may not hover over that menu item to find out. In fact, they may read the menu label and think, “that’s not what I want” and then bounce.
For instance, businesses today are creating sub-menus underneath the “About Us” main menu item. This sub-menu often includes links to the contact and support pages. Most people looking for a contact or support page would look at a menu item labeled “About Us” and skip it.
Aside from the fact that links to contact and support pages don’t really belong in a sub-menu, with a visual cue (like an arrow or a plus sign), the visitor might hover over the menu item just to see what pops up.
3. Clear navigation labels
The most important part of any CSS menu is how you label the links.
Famous people and big brands can get away with clever navigation labels that match inside jokes they share with fans. However, doing this is a turn-off to people who don’t know what the joke’s all about.
To get an idea of how clear your labels are, ask someone you don’t know to look at your navigation menu and tell you what they expect to find behind each label. Your navigation should be so clear that anyone can describe what each link leads to, even if they don’t understand it.