If you're just getting into HTML or web development, you've probably seen the <nav>
tag here and there. But how do you use it properly? And what's this whole "smart menu" thing about?
Don't worry ,we'll walk through it all in plain, simple English. By the end of this post, you'll know how to use the <nav>
tag confidently and build menus that are both user-friendly and search engine friendly.
What is the <nav>
Tag Anyway?
The <nav>
tag is an HTML5 element. It stands for "navigation", and its main job is to wrap around links that help users move around your website.
Think of it like the signpost of your site it tells people (and search engines) where they can go.
Here's what it looks like in its simplest form:
<nav>
<a href="/">Home</a>
<a href="/about">About</a>
<a href="/services">Services</a>
<a href="/contact">Contact</a>
</nav>
Pretty basic, right? But using it properly can really improve how your site works and feels.
Read also: How Using fieldset and legend Improves SEO and Accessibility
Why the <nav>
Tag Matters
Better Structure
Using <nav>
helps give your site a clear layout. It separates the navigation from the rest of your content, making things more organized.
Helps Search Engines Understand Your Site
Google and other search engines look for certain tags to figure out what's important. A properly used <nav>
tag tells them, "Hey, this is my main menu!"
Improves Accessibility People using screen readers (like the visually impaired) can jump straight to the navigation area when you use this tag. That makes your site more usable for everyone.
What Should Go Inside a <nav>
Tag?
Not every link on your site belongs in a <nav>
tag. It's meant for main navigation links, like:
Home About Services Blog Contact
Don't include every single link—like "terms of service" or "privacy policy"—unless they're part of your main menu.
How to Build a Smart <nav>
Menu
Now let's get to the fun part—making a smart menu.
A "smart menu" isn't some fancy tool. It just means a menu that:
Makes sense to users Looks clean Works on all devices Helps with SEO
Let's break it down.
Use Semantic HTML
Wrap your menu in a <nav>
tag. Inside that, use an unordered list (<ul>
) for the links. This is a common, accessible structure.
<nav>
<ul>
<li><a href="/">Home</a></li>
<li><a href="/about">About</a></li>
<li><a href="/blog">Blog</a></li>
<li><a href="/contact">Contact</a></li>
</ul>
</nav>
Why it's smart: Lists are easier for screen readers to understand, and they're easier to style with CSS.
Keep It Simple
Don't overload your menu with too many links. Stick to the essentials. A good rule of thumb is 5–7 items max.
If you have a lot of pages, consider using dropdowns or a hamburger menu on mobile.
Make It Responsive
People visit websites on all kinds of devices—phones, tablets, laptops. So your nav menu should look good everywhere.
Here's a quick responsive example using basic CSS:
<style>
nav ul {
display: flex;
list-style: none;
gap: 1rem;
padding: 0;
}
nav a {
text-decoration: none;
color: #333;
}
@media (max-width: 600px) {
nav ul {
flex-direction: column;
}
}
</style>
<nav>
<ul>
<li><a href="/">Home</a></li>
<li><a href="/services">Services</a></li>
<li><a href="/portfolio">Portfolio</a></li>
<li><a href="/contact">Contact</a></li>
</ul>
</nav>
Why it's smart: This simple style changes the menu layout when the screen size shrinks.
Highlight the Active Page
It's helpful to show visitors where they are on your site. You can do this by adding a class like active
to the current link.
<li><a href="/about" class="active">About</a></li>
Then style it with CSS:
a.active {
font-weight: bold;
color: #007BFF;
}
Add ARIA Labels (Bonus Accessibility Tip)
Want to go the extra mile? Add an aria-label
to your <nav>
tag. This tells screen readers what the menu is for.
<nav aria-label="Main navigation">
This is especially helpful if you have more than one <nav>
on your page (like a footer menu).
Common Mistakes to Avoid
Let's clear up a few things that trip people up.
❌ Using <nav>
for all your links
Only wrap navigation links, not every link on your page.
❌ Nesting <nav>
inside each other
You usually only need one main <nav>
, and maybe one in the footer.
❌ Forgetting mobile users Menus that look great on desktop can break on phones. Always test it on small screens.
Final Thoughts
Using the <nav>
tag isn't hard—but using it well can really upgrade your site. It makes things easier to read, navigate, and even helps your SEO a little.
Remember these tips:
Use <nav>
for main navigation links only
Structure your links inside a list
Keep menus clean and mobile-friendly
Highlight active pages
Use aria-label
for better accessibility
Once you get the hang of it, you'll be building smart, user-friendly menus in no time.
If you found this guide helpful, feel free to share it or bookmark it for later. And if you're ready to take your navigation to the next level, try adding dropdowns or even learning some JavaScript for more interactivity.