CSS menu buttons Free Web Design Tutorials
Home   HTML CSS JavaScript PHP MySQL Usability Glossary
CSSBasicsImplementing CSSCSS SyntaxPseudo Classes/ElementsCSS ClassesCSS PropertiesFontColor and BackgroundTextBorderMargins and PaddingSize and Position

Home > CSS Tips and Tricks > CSS Menu Buttonsprinter version

CSS Menu Buttons

To create menu buttons that span the width of a container and change on mouseover (like the ones on this site) requires the use of two CSS features.



Creating a Pseudo-class with Display Set to Block

First create a pseudo-class for the links, which will be applied to the anchor element.

You have the option of controlling the appearance of the following link conditions.



Note: For hover to work properly it must come after link and visited. For active to work properly it must come after hover.


Below is the style definition used on this site to create the menu buttons on the left.

The Style Sheet Document Called effects.css
.nav a:link {
display: block;
text-align: left;
background-color: #ffffff;
background: url(graphics/nav.jpg);
border-color: #cccccc;
border-style: solid;
border-width: 1px;
padding-left: 7px;
padding-bottom: 2px;
color:#000000;
text-decoration: none;
margin-bottom: 2px;
}
.nav a:visited {
display: block;
text-align: left;
background-color: #ffffff;
background: url(graphics/nav.jpg);
border-color: #cccccc;
border-style: solid;
border-width: 1px;
padding-left: 7px;
padding-bottom: 2px;
color:#666699;
text-decoration: none;
margin-bottom: 2px;
}
.nav a:hover {
display: block;
text-align: left;
background-color: #666666;
background: url(graphics/nav2.jpg);
border-color: #666666;
border-style: solid;
border-width: 1px;
padding-left: 7px;
padding-bottom: 2px;
color:#ffffff;
text-decoration: none;
margin-bottom: 2px;
}


Implementing the Buttons in HTML

This is done by using a span tag with the name of the pseudo-class to surround the links.

The HTML Document
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<link rel="stylesheet" href="effects.css" type="text/css">
</head>
<body>
<span class="nav">
<a href="css_tips_menu_buttons.php">Using <b><i>block</i></b> causes the button to fill the space available.</a>
<a href="css_tips_menu_buttons.php">Using <b><i>block</i></b> causes the button to fill the space available.</a>
</span>
</body>
</html>


The Result
Using block causes the button to fill the space available.Using block causes the button to fill the space available.


Privacy | Terms | Contact | Links | Sitemap | RSS Feeds RSS and JavaScript Feeds
©2009 www.webdesignworkmate.co.uk all rights reserved 
Design and Production by smallbizonline website design © 2000-2009
Valid HTML 4.01! Level Double-A conformance icon, W3C-WAI Web Content Accessibility Guidelines 1.0Valid CSS!
Tips and TricksCSS Menu ButtonsMenu ButtonsSpecial Effects
Recommended Reading
CSS - the missing manual

The CSS anthology

Beginning CSS web development