CSS Navigation Bar
Demo: Navigation Bars
Vertical
·
Home
·
News
·
Contact
·
About
Horizontal
·
Home
·
News
·
Contact
·
About
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>
Now let's remove the
bullets and the margins and padding from the list:
Example
ul {
list-style-type: none;
margin: 0;
padding: 0;
}
Example explained:
- list-style-type: none; - Removes the bullets. A
navigation bar does not need list markers
- Set margin: 0; and padding: 0; to remove
browser default settings
The code in the example
above is the standard code used in both vertical, and horizontal navigation
bars, which you will learn more about in the next chapters.
CSS Vertical
Navigation Bar
Vertical Navigation Bar
·
Home
·
News
·
Contact
·
About
To build a vertical
navigation bar, you can style the <a> elements inside the list, in
addition to the code from the previous page:
Example
li a {
display: block;
width: 60px;
}
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 (and padding, margin, height, etc.
if you want)
- width: 60px; - Block elements take up the
full width available by default. We want to specify a 60 pixels width
You can also set the width
of <ul>, and remove the width of <a>, as they will take up the full
width available when displayed as block elements. This will produce the same
result as our previous example:
Example
ul {
list-style-type: none;
margin: 0;
padding: 0;
width: 60px;
}
li a {
display: block;
}
Vertical Navigation Bar Examples
Create a basic vertical
navigation bar with a gray background color and change the background color of
the links when the user moves the mouse over them:
·
Home
·
News
·
Contact
·
About
Example
ul {
list-style-type: none;
margin: 0;
padding: 0;
width: 200px;
background-color: #f1f1f1;
}
li a {
display: block;
color: #000;
padding: 8px 16px;
text-decoration: none;
}
/* Change the link color on hover */
li a:hover {
background-color: #555;
color: white;
}
Active/Current Navigation Link
Add an "active"
class to the current link to let the user know which page he/she is on:
·
Home
·
News
·
Contact
·
About
Example
.active {
background-color: #04AA6D;
color: white;
}
Gray Horizontal Navbar
An example of a gray
horizontal navigation bar with a thin gray border:
Example
ul {
border: 1px solid #e7e7e7;
background-color: #f3f3f3;
}
li a {
color: #666;
}