Sep 10, 2014

Creating a Simple Responsive Navigation menu with CSS

What could be the simplest form of navigation on a web page? If a horizontal responsive navigation menu popped in your mind after reading that question, that’s exactly what you’re gonna learn to create in this post.

Long gone are the days when people used to build web layouts and navigation with HTML tables. Today you can easily make stuff semantically sane, prettier, and adaptive to different screen sizes.

We all know that simple and easy navigation is one of the most important parts of a web layout. Let’s take a look at the most commonly practiced technique to design a simple navigation menu. I assume you already have the basic idea of using HTML and CSS.

Note that this is not going to have sub-menus. If you are looking for fly-out menu solutions, below are some handy resources:

The Idea of CSS-only Responsive Navigation Menu

Basically, this technique moves around using HTML lists. We’ll be using simple HTML lists to bring out a simple and easy link list. We’ll end up with a simple yet good-looking responsive navigation menu eventually.

Let me break down the concept into simple steps to make it easy to understand:

  1. Use a list element to form a link list
  2. Give it a look of horizontal menu by making it appear inline with CSS
  3. Add some cosmetics like colors, animation, etc. to make it more attractive—of course with CSS

I’m gonna make use of HTML5 nav element (

Rahul C.

Rahul C. is a web developer running W3Bits since 2012. He loves making things on the internet and sharing his extensive knowledge about front-end web development.

Want to stay up to date?

Sign up for our email newsletter.

Only the relevant, to-the-point content. Zero spam.