SHARE
Facebook X Pinterest WhatsApp

CSS Styling Links: How to Style Links in CSS

Written By
thumbnail
Octavia Anghel
Octavia Anghel
Oct 21, 2019

A link represents a connection from one web page to another web page. This CSS property can be used for linking styles in different ways. In this article, you will learn how to set different properties of a hyperlink using the CSS property. So, let’s see the best practices for styling links.

The first thing to understand is the concept of link states, different states in which there may be links that can be designed using different pseudo-classes:

  • unvisited link: is the default state in which a link is located, more precisely when it is not in any other state. It can be designed in a specific way using the link pseudo class.
  • visited: represents a link that has already been accessed, visited, styled using the: visited pseudo class.
  • active: represents a link that is activated by clicking on the link, styled using the: active pseudo class.
  • hover: represents a link that, once the user hovers over the link, the property is activated, styled using the: hover pseudo class.
  • focus: represents a link that has been focused (example: the user moves the action to a page element using the Tab key or programmatically focused using HTMLElement.focus ()), styled using the: focus pseudo class

Here is an example of a simple link:

<!DOCTYPE html> 
<html> 
<head> 
<title>CSS links</title> 
<style> 
p { 
   font-size: 30px; 
   text-align: center; 
   }          
</style> 
</head> 
<body> 
<p><a href="https://www.herbalife.com">Example for a simple link</a></p> 
</body>     
</html>

CSS Links Fig1

You can see some things as you explore the default styles, namely that links that have not been accessed are blue, links are highlighted, links visited are purple, focused links have a contour around them and the active links are red.

The default styles can be modified or deactivated, using the following CSS properties: mouse pointer style cursor, text color and text outline.

Here is an example using the text-decoration property:

<!DOCTYPE html>
<html>
<head>
<style>
p { 
   font-size: 30px; 
   text-align: center; 
   }          

a:link {
  text-decoration: none;
}
a:visited {
  text-decoration: none;
}
a:hover {
  text-decoration: underline;
}
a:active {
  text-decoration: underline;
}
</style>
</head>
<body>
<p><b><a href="default.asp" target="_blank">Here is a link</a></b></p>
</body>
</html>

CSS Links Fig2

Here is another example, this time using the background-color property:

<!DOCTYPE html>
<html>
<head>
<style>
p { 
   font-size: 30px; 
   text-align: center; 
   }          
a:link {
  background-color: coral;
}
a:visited {
  background-color: cyan;
}
a:hover {
  background-color: DarkMagenta;
}
a:active {
  background-color: DarkSalmon ;
} 
</style>
</head>
<body>
<p><b><a href="default.asp" target="_blank">This is a link</a></b></p>
</body>
</html>

CSS Links Fig3

Advanced CSS link buttons: to create a link button, use some CSS-style properties, so you can create the box and make it interactive. You will need the color property to set the color of the text representing the link, the background color to add color to the button itself, the text-decoration to remove the underline from the link, the text-align property to set the alignment of your link, the display property to describes how your link and padding property should be displayed and determine how big your button will be.

Here is the example:

<!DOCTYPE html>
<html>
<head>
<style>
a:link, a:visited {
    background-color: DarkSalmon ;
    border: none;
    color: #FFFFFF;
    padding: 25px 52px;
    text-align: center;
    -webkit-transition-duration: 0.4s;
    transition-duration: 0.4s;
    text-decoration: none;
    font-size: 20px;
    text-align: center; 
    cursor: pointer;
    display: inline-block;
}
a:hover, a:active {
    background-color: DarkRed ;
}
</style>
</head>
<body>
<body>
	<a href="http://www.tennis.com" target="_blank">BUTTON</a>
</body>
</body>
</html>

CSS Links Fig4

All the properties we have used before can be used in other ways too. For example, states such as hover can be used to style many different elements, not just bindings.

Links are often stylized enough to look and behave like buttons in certain situations. A navigation menu is marked as a list containing links, and this can be easily designed to look like a set of control buttons, giving the user access to other parts of the site. See the example below:

<!DOCTYPE html>
<html>
<head>
<style>
body,html {
  margin: 0;
  font-family: sans-serif, arial, helvetica;
}
ul {
  padding: 0;
  width: 100%;
}
li {
  display: inline;
}
a {
  outline: none;
  text-decoration: none;
  display: inline-block;
  width: 19.5%;
  margin-right: 0.625%;
  text-align: center;
  line-height: 3;
  color: white;
}
li:last-child a {
  margin-right: 0;
}
a:link, a:visited, a:focus {
  background: DarkSalmon ;
}
a:hover {     
  background: DarkRed ;
}
a:active {
  background: red;
  color: white;
}
</style>
</head>
<body>
<ul>
  <li><a href="#">Tournaments</a></li><li><a href="#">Scores</a></li><li><a href="#">News</a></li><li><a href="#">Videos</a></li><li><a href="#">PLAYERS & RANKINGS</a></li>
</ul>
</body>
</html>

CSS Links Fig5

Let’s see what happens in the example below, focusing on the most interesting parts. Therefore, the second rule eliminates padding from element <ul>, once again setting its width for 100% of the outer container, in our <body> case.

<li> Elements are implicitly locked, which means they will be on their own lines. Thus, we will create a horizontal list of links, so that we set in the third rule the property of the line display, which results in the items on the list being on the same line with each other, behaving as some elements arranged inline. The most complicated rule is the number four rule, the one that stylizes the <a> element. So, we start by turning off the decoration and the default text of the text. After we set the display inline; the <a> elements are displayed implicitly inline, not wanting them to fall on their own lines, so we will use inline-block to be able to size them.

Next, we set the display to the inline line – the <a> elements are inline by default and, although we do not want them to spill on their own lines, as they would reach a block value, we want to be able to resize them. Inline-block allows this. For dimensioning, we want to fill the whole width of the element <ul>, leaving a small space between each button. After that, we set the width and the space between each button. The last statements are relatively simple and are meant only for cosmetic purposes. We set the line height to 3 to give the buttons a certain height and at the end we set the text color to white.

Conclusion

I hope this article gives you all the necessary information about links and their customization. Practicing the examples above, you will surely gain the experience needed to create high-level CSS links.

Recommended for you...

Importing Custom Less Styles at Run-time in Angular
Rob Gravelle
Jun 14, 2022
Setting CSS Values from Less Variables in Angular
Rob Gravelle
Jun 4, 2022
Color Manipulation with JavaScript
Rob Gravelle
May 21, 2022
An Introduction to CSS-in-JS
Rob Gravelle
May 14, 2022
HTML Goodies Logo

The original home of HTML tutorials. HTMLGoodies is a website dedicated to publishing tutorials that cover every aspect of being a web developer. We cover programming and web development tutorials on languages and technologies such as HTML, JavaScript, and CSS. In addition, our articles cover web frameworks like Angular and React.JS, as well as popular Content Management Systems (CMS) that include WordPress, Drupal, and Joomla. Website development platforms like Shopify, Squarespace, and Wix are also featured. Topics related to solid web design and Internet Marketing also find a home on HTMLGoodies, as we discuss UX/UI Design, Search Engine Optimization (SEO), and web dev best practices.

Property of TechnologyAdvice. © 2025 TechnologyAdvice. All Rights Reserved

Advertiser Disclosure: Some of the products that appear on this site are from companies from which TechnologyAdvice receives compensation. This compensation may impact how and where products appear on this site including, for example, the order in which they appear. TechnologyAdvice does not include all companies or all types of products available in the marketplace.