Lesson 6: Links

You can apply what you already learned in the previous lessons to links (i.e. change colors, fonts, underline, etc). The new thing is that CSS allows you to define these properties differently depending on whether the link is unvisited, visited, active, or whether the cursor is on the link. This makes it possible to add fancy and useful effects to your website. To control these effects you use so-called pseudo-classes.

What is a pseudo-class?

A pseudo-class allows you to take into account different conditions or events when defining a property for an HTML tag.

Let's look at an example. As you know, links are specified in HTML with <a> tags. We can therefore use a as a selector in CSS:

	
	a {
		color: blue;
	}
	
	

A link can have different states. For example, it can be visited or not visited. You can use pseudo-classes to assign different styles to visited and unvisited links.

	
	a:link {
		color: blue;
	}

	a:visited {
		color: red;
	}
	
	

Use a:link and a:visited for unvisited and visited links respectively. Links that are active have the pseudo-class a:active and a:hover is when the cursor is on the link.

We will now go through each of the four pseudo-classes with examples and further explanation.

Pseudo-class: link

The pseudo-class :link is used for links leading to pages that the user has not visited.

In the code example below, unvisited links will be light blue.

	
	a:link {
		color: #6699CC;
	}
	
	

Pseudo-class: visited

The pseudo-class :visited is used for links leading to pages that the user has visited. For example, the code below would make all visited links dark purple:

	
	a:visited {
		color: #660099;
	}
	
	

Pseudo-class: active

The pseudo-class :active is used for links that are active.

This example gives active links a yellow background color:

	
	a:active {
		background-color: #FFFF00;
	}
	
	

Pseudo-class: hover

The pseudo-class :hover is used when the mouse pointer hovers over a link.

This can be used to create interesting effects. For example, if we want our links to be orange and be italicized when the cursor is pointed at them, our CSS should look like this:

	
	a:hover {
		color: orange;
		font-style: italic;
	}
	
	

Example 1: Effect when the cursor is over a link

It is particular popular to create different effects when the cursor is over a link. We will therefore look at a few extra examples related to the pseudo-class :hover.

Example 1a: Spacing between letters

As you will remember from lesson 5, the spacing between letters can be adjusted using the property letter-spacing. This can be applied to links for a special effect:

	
	a:hover {
		letter-spacing: 10px;
		font-weight:bold;
		color:red;
	}
	
	

Example 1b: UPPERCASE and lowercase

In lesson 5 we looked at the property text-transform, which can switch between upper- and lowercase letters. This can also be used to create an effect for links:

	
	a:hover {
		text-transform: uppercase;
		font-weight:bold;
		color:blue;
		background-color:yellow;
	}
	
	

The two examples gives you an idea about the almost endless possibilities for combining different properties. You can create your own effects - give it a try!

Example 2: Remove underline of links

A frequently asked question is how to remove the underlining of links?

You should consider carefully whether it is necessary to remove the underlining as it might decrease usability of your website significantly. People are used to blue underlined links on web pages and know that they can click on them. Even my mum knows that! If you change the underlining and color of links there is a good chance that users will get confused and therefore not get the full benefit of the content on your website.

That said, it is very simple to remove the underlining of links. As you will recall from lesson 5, the property text-decoration can be used to determine whether text is underlined or not. To remove underlining, simply set the value of text-decoration to none.

	
	a {
		text-decoration:none;
	}
	
	

Alternatively, you can set text-decoration along with other properties for all four pseudo-classes.

	
	a:link {
		color: blue;
		text-decoration:none;
	}

	a:visited {
		color: purple;
		text-decoration:none;
	}

	a:active {
		background-color: yellow;
		text-decoration:none;
	}

	a:hover {
		color:red;
		text-decoration:none;
	}
	
	

Summary

In this lesson you have learned about pseudo-classes, using some of the properties from the previous lessons. This should give you an idea of some the possibilities CSS provides.

In the next lesson we will teach you how to define properties for specific elements and groups of elements.


Related topics in the CSS ForumRepliesViews
correct way to list a link354440
Active link38089
Link Hovering312497
CSS link38904
my code before I link to style sheet28421

+ Post a new topic


<< Lesson 5: Text

Lesson 7: Identification and grouping of elements (class and id) >>