Skip to main content

CSS Navigation Bar

Navigation Bars Having easy-to-use navigation is important for any web site.
With CSS you can transform boring HTML menus into good-looking navigation bars.

Navigation Bar = List of Links

A navigation bar needs standard HTML as a base.
In our examples we will build the navigation bar from a standard HTML list.
A navigation bar is basically a list of links, so using the <ul> and <li> elements makes perfect sense:

Example

<ul>
<li><a href="default.asp">Home</a></li>
<li><a href="news.asp">News</a></li>
<li><a href="contact.asp">Contact</a></li>
<li><a href="about.asp">About</a></li>
</ul>

Try it yourself »
Now let's remove the bullets and the margins and padding from the list:

Example

ul
{
list-style-type:none;
margin:0;
padding:0;
}

Try it yourself »
Example explained:
  • list-style-type:none - Removes the bullets. A navigation bar does not need list markers
  • Setting margins and padding to 0 to remove browser default settings
The code in the example above is the standard code used in both vertical, and horizontal navigation bars.

Vertical Navigation Bar

To build a vertical navigation bar we only need to style the <a> elements, in addition to the code above:

Example

a
{
display:block;
width:60px;
}

Try it yourself »
Example explained:
  • display:block - Displaying the links as block elements makes the whole link area clickable (not just the text), and it allows us to specify the width
  • width:60px - Block elements take up the full width available by default. We want to specify a 60 px width
Tip: Also take a look at our fully styled vertical navigation bar example.
Note: Always specify the width for <a> elements in a vertical navigation bar. If you omit the width, IE6 can produce unexpected results.

Horizontal Navigation Bar

There are two ways to create a horizontal navigation bar. Using inline or floating list items.
Both methods work fine, but if you want the links to be the same size, you have to use the floating method.

Inline List Items

One way to build a horizontal navigation bar is to specify the <li> elements as inline, in addition to the "standard" code above:

Example

li
{
display:inline;
}

Try it yourself »
Example explained:
  • display:inline; - By default, <li> elements are block elements. Here, we remove the line breaks before and after each list item, to display them on one line
Tip: Also take a look at our fully styled horizontal navigation bar example.

Floating List Items

In the example above the links have different widths.
For all the links to have an equal width, float the <li> elements and specify a width for the <a> elements:

Example

li
{
float:left;
}
a
{
display:block;
width:60px;
}

Comments

Popular posts from this blog

Toshiba Canada enters all-in-one PC market

Toshiba of Canada has thrown its hat into the all-in-one personal computer (PC) ring with the launch this week of the Toshiba DX730, a 23” all-in-one machine designed for users who want a large display and multimedia features in an environment where space is at a premium. It's Toshiba's first foray into this form factor, said Mini Saluja, national training manager with Toshiba of Canada, building on its experience in the laptop market. The DX730 has a 23” full HD multitouch display with a glossy black finish on an aluminum stand. It comes with a matching Bluetooth keyboard and mouse, and boasts Onkyo stereo speakers with Waves MaxxAudio sound processing. Two models of the DX730 will initially be available. The $899 model features a second-generation Intel Core i3 processor with 4GB of DDR3 memory, a 1TB 7200 RPM hard drive, a DVD SuperMulti Drive and HDMI in. For $1,049, you can move up to a model with an NVIDIA Geforce GT 540M processor and Intel Core i5, as we...

Tropical storm Beryl makes landfall on US coast

The weather system was expected to continue dumping rain over parts of Florida and Georgia. Tropical Storm Beryl made landfall early Monday in northeast Florida, bringing drenching rains and driving winds to the southeastern U.S. coast, forecasters said. The National Hurricane Center in Miami reported that Beryl made landfall over Duval and northern St. John s counties, with near-hurricane-strength winds of 70 mph (113 kph). "There are strong rain bands that are rotating around the center of the storm..." forecaster Al Sandrik said in an audio statement on the NHC website. The weather system was expected to continue dumping rain over parts of Florida and Georgia on Monday. It was expected to weaken as it moves inland and become a tropical depression by Monday night. Tropical storm warnings were in effect for the entire Georgia coastline, as well as parts of Florida and South Carolina. Florida Gov. Rick Scott urged Florida residents in the affected areas to "stay alert ...

Don't count on Russia to force out Assad: US senator

"This administration has a feckless foreign policy which abandons American leadership," McCain said. The U.S. can t count on Russia a major arms supplier to Syria to force President Bashar Assad from power, a U.S. senator said Sunday, blaming President Barack Obama for embracing a "feckless" foreign policy and punting tough decisions until after the November election. It was a particularly sharp rebuke for Sen. John McCain, who as a longtime critic of Obama s foreign policy hasn t pulled many punches. As the top Republican on the Senate Armed Services Committee, McCain s viewpoint on complex world events often finds its way into Republican election-year talking points. "This administration has a feckless foreign policy which abandons American leadership," McCain told "Fox News Sunday." "What the conclusion you can draw is that this president wants to kick the can down the road on all of these issues until after the election ... it s really...