0% found this document useful (0 votes)
2 views

Navigation Bars in CSS

The document provides a comprehensive guide on creating navigation bars using CSS, starting with basic HTML lists and progressing to styled vertical and horizontal navigation bars. It includes examples of code for both types of navigation bars, explaining key CSS properties such as list-style, display, and float. The document emphasizes the importance of styling for usability and aesthetics in web design.

Uploaded by

ishaan0643.be21
Copyright
© © All Rights Reserved
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views

Navigation Bars in CSS

The document provides a comprehensive guide on creating navigation bars using CSS, starting with basic HTML lists and progressing to styled vertical and horizontal navigation bars. It includes examples of code for both types of navigation bars, explaining key CSS properties such as list-style, display, and float. The document emphasizes the importance of styling for usability and aesthetics in web design.

Uploaded by

ishaan0643.be21
Copyright
© © All Rights Reserved
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
You are on page 1/ 7

inx® I n f o t e c h

Ph: 9815944904, 9876356047

Navigation Bars in CSS


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:
<!DOCTYPE html>
<html>
<body>
<ul>
<li><a href="#home">Home</a></li>
<li><a href="#news">News</a></li>
<li><a href="#contact">Contact</a></li>
<li><a href="#about">About</a></li>
</ul>
<p>Note: We use href="#" for test links. In a real web site this would be URLs.</p>
</body>
</html>
Now let's remove the bullets and the margins and padding from the list:
Example
<!DOCTYPE html>
<html>
<head>
<style>
ul {
list-style-type: none;
margin: 0;
padding: 0;
}
</style>
</head>
<body>
<ul>
<li><a href="#home">Home</a></li>
<li><a href="#news">News</a></li>
<li><a href="#contact">Contact</a></li>
<li><a href="#about">About</a></li>
</ul>
</body>
</html>

1|Page (Navigation Bar in CSS)


inx® I n f o t e c h
Ph: 9815944904, 9876356047

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
<!DOCTYPE html>
<html>
<head>
<style>
ul {
list-style-type: none;
margin: 0;
padding: 0;
}
a{
display: block;
width: 60px;
background-color: #dddddd;
}
</style>
</head>
<body>
<ul>
<li><a href="#home">Home</a></li>
<li><a href="#news">News</a></li>
<li><a href="#contact">Contact</a></li>
<li><a href="#about">About</a></li>
</ul>
<p>A background color is added to the links to show the link area.</p>
<p>Notice that the whole link area is clickable, not just the text.</p>
</body>
</html>
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
Fully Styled Vertical Navigation Bar Example:
<!DOCTYPE html>
<html>

2|Page (Navigation Bar in CSS)


inx® I n f o t e c h
Ph: 9815944904, 9876356047

<head>
<style>
ul {
list-style-type: none;
margin: 0;
padding: 0;
}
a:link, a:visited {
display: block;
font-weight: bold;
color: #FFFFFF;
background-color: #98bf21;
width: 120px;
text-align: center;
padding: 4px;
text-decoration: none;
text-transform: uppercase;
}
a:hover, a:active {
background-color: #7A991A;
}
</style>
</head>
<body>
<ul>
<li><a href="#home">Home</a></li>
<li><a href="#news">News</a></li>
<li><a href="#contact">Contact</a></li>
<li><a href="#about">About</a></li>
</ul>
</body>
</html>
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
<!DOCTYPE html>
<html>
<head>

3|Page (Navigation Bar in CSS)


inx® I n f o t e c h
Ph: 9815944904, 9876356047

<style>
ul {
list-style-type: none;
margin: 0;
padding: 0;
}
li {
display: inline;
}
</style>
</head>
<body>
<ul>
<li><a href="#home">Home</a></li>
<li><a href="#news">News</a></li>
<li><a href="#contact">Contact</a></li>
<li><a href="#about">About</a></li>
</ul>
</body>
</html>
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
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
<!DOCTYPE html>
<html>
<head>
<style>
ul {
list-style-type: none;
margin: 0;
padding: 0;
overflow: hidden;
}
li {
float: left;
}
a{
display: block;
width: 60px;
background-color: #dddddd;

4|Page (Navigation Bar in CSS)


inx® I n f o t e c h
Ph: 9815944904, 9876356047

}
</style>
</head>
<body>
<ul>
<li><a href="#home">Home</a></li>
<li><a href="#news">News</a></li>
<li><a href="#contact">Contact</a></li>
<li><a href="#about">About</a></li>
</ul>
<p><b>Note:</b> If a !DOCTYPE is not specified, floating items can produce unexpected results.</p>
<p>A background color is added to the links to show the link area. The whole link area is clickable, not
just the text.</p><p><b>Note:</b> overflow:hidden is added to the ul element to prevent li elements
from going outside of the list.</p>
</body>
</html>
Example explained:
 float: left - use float to get block elements to slide next to each other
 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 - Since block elements take up the full width available, they cannot float
next to each other. We specify the width of the links to 60px
Fully styled Horizantal Navigation Bar Example:-
<!DOCTYPE html>
<html>
<head>
<style>
ul {
list-style-type: none;
margin: 0;
padding: 0;
overflow: hidden;
}
li {
float: left;
}
a:link, a:visited {
display: block;
width: 120px;
font-weight: bold;
color: #FFFFFF;
background-color: #98bf21;
text-align: center;
padding: 4px;

5|Page (Navigation Bar in CSS)


inx® I n f o t e c h
Ph: 9815944904, 9876356047

text-decoration: none;
text-transform: uppercase;
}
a:hover, a:active {
background-color: #7A991A;
}
</style>
</head>
<body>
<ul>
<li><a href="#home">Home</a></li>
<li><a href="#news">News</a></li>
<li><a href="#contact">Contact</a></li>
<li><a href="#about">About</a></li>
</ul>
</body>
</html>
Menu in CSS
<!DOCTYPE html>
<html>
<head>
<style>
ul {
float: left;
width: 100%;
padding: 0;
margin: 0;
list-style-type: none;
}

a{
float: left;
width: 6em;
text-decoration: none;
color: white;
background-color: purple;
padding: 0.2em 0.6em;
border-right: 1px solid white;
}

a:hover {
background-color: fuchsia;
}

6|Page (Navigation Bar in CSS)


inx® I n f o t e c h
Ph: 9815944904, 9876356047

li {
display: inline;
}
</style>
</head>
<body>

<ul>
<li><a href="#">Link one</a></li>
<li><a href="#">Link two</a></li>
<li><a href="#">Link three</a></li>
<li><a href="#">Link four</a></li>
</ul>
<p>In the example above, we let the ul element and the a element float to the left.
li elements will be displayed as inline elements (no line break before or after the element). This forces
the list to be on one line.
The ul element has a width of 100% and each hyperlink in the list has a width of 6em (6 times the size of
the current font).
We add some colors and borders to make it more fancy.
</p>
</body>
</html>

7|Page (Navigation Bar in CSS)

You might also like