Basics
Creating a Document
Head and Body Elements
Formatting Text
Creating Lists
Embedding Images
URLs Explained
Linking to Documents
Creating Tables
Forms Form Basics
Input and Textarea
Select Lists
Frames Framesets
The Frame Element
Nested Framesets
Targetting Frames
Inline Frames
Tips and Tricks Meta Tags
Transition Effects
HTML Generators Create a Document
Create a List
Create a Table
HTML
Basics
Implementing CSS
CSS Syntax
Pseudo Classes/Elements
CSS Classes
CSS Properties Font Properties
Color and Background
Text Properties
Border Properties
Margins and Padding
Size and Position
Tips and Tricks Menu Buttons
Special Effects
CSS
Basics
Running a Script
Variables
Expressions and Operators
Objects.Properties.Methods
The Date Object
Strings
Regular Expressions
Defining RegExp Patterns
Branches and Conditions
Loops
Arrays Array Basics
Array Methods
Sorting Arrays

User-Defined Functions
Cookies
Windows
Frames
Tips and Tricks Image Replacement
Using Includes
Form Validation
Debugging
JavaScript
Basics
Creating a Script
Running a Script
Variables
Expressions and Operators
Strings Strings Basics
Strings and Substrings
Replacing Substrings
Regular Expressions
Branches and Conditions
Loops
Arrays Array Basics
Array Functions
Sorting Arrays
User-Defined Functions
Include and Require
Uploading Files
File Functions
Session Variables
Tips and Tricks Page Templates
Form Reply Scripts
Form Validation
JavaScript to PHP
PHP
Basics
Create and Drop
Show and Describe
Insert, Update and Delete
Querying
Join Queries
Functions
Table Locking
PHP/MySQL Functions Accessing a Database
Querying with PHP
Create and Drop with PHP
Insert and Update with PHP
Frequently Used Functions MySQL
Basics
Layout and Navigation
Page Content Style
Web Page Copy
Graphics and Animation
HTML Forms
Accessibility
Legal Requirements
MySQL
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
©2010 www.webdesignworkmate.co.uk all rights reserved 
Design and Production by smallbizonline website design © 2000-2010
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
Got any CSS Tips?
Send me your tip and if it's suitable I'll put it on the site, credit it to you and add a link back to your site.
Recommended Reading
CSS - the missing manual

The CSS anthology

Beginning CSS web development