HTML Links
Links are found in nearly all web pages. Links allow users to click their way from page to page.
Hyperlinks
HTML links are hyperlinks.
You can click on a link and jump to another document.
When you move the mouse over a link, the mouse arrow will turn into a little hand.
A link does not have to be text. A link can be an image or any other HTML element!
Syntax
The HTML <a>
tag defines a hyperlink. It has the following syntax:
<a href="url">link text</a>
The most important attribute of the <a>
element is the href
attribute, which indicates the link's destination.
The link text is the part that will be visible to the reader.
Clicking on the link text, will send the reader to the specified URL address.
By default, links will appear as follows in all browsers:
- An unvisited link is underlined and blue
- A visited link is underlined and purple
- An active link is underlined and red
Links can of course be styled with CSS, to get another look!
target Attribute
By default, the linked page will be displayed in the current browser window. To change this, you must specify another target for the link.
The target
attribute specifies where to open the linked document.
The target
attribute can have one of the following values:
_self
- Default. Opens the document in the same window/tab as it was clicked_blank
- Opens the document in a new window or tab_parent
- Opens the document in the parent frame_top
- Opens the document in the full body of the window
For example, use target="_blank" to open the linked document in a new browser window or tab:
<a href="https://www.google.com/" target="_blank">Visit Google!</a>
Absolute URLs vs. Relative URLs
Both examples above are using an absolute URL (a full web address) in the href
attribute.
A local link (a link to a page within the same website) is specified with a relative URL (without the "https://www" part).
Example:
<h2>Absolute URLs</h2>
<p><a href="https://www.w3.org/">W3C</a></p>
<p><a href="https://www.google.com/">Google</a></p>
<h2>Relative URLs</h2>
<p><a href="a-page.html">A page</a></p>
<p><a href="/css/a-file.css">A CSS File</a></p>
Common uses of Links
Use an Image as a Link
To use an image as a link, just put the <img>
tag inside the <a>
tag:
Example:
<a href="mypage.html">
<img src="myimage.png" alt="My Page" style="width:42px;height:42px;">
</a>
Link to an Email Address
Use mailto:
inside the href
attribute to create a link that opens the user's email program (to let them send a new email):
<a href="mailto:[email protected]">Send email</a>
Button as a Link
To use an HTML button as a link, you have to add some JavaScript code.
JavaScript allows you to specify what happens at certain events, such as a click of a button:
Example:
<button onclick="document.location='mypage.html'">My Page</button>
Link Titles
The title
attribute specifies extra information about an element. The information is most often shown as a tooltip text when the mouse moves over the element.
Example:
<a href="mypage.html" title="Go to My Page">Visit My Page</a>
You can read more about file paths in the chapter HTML File Paths.
Different Colors for Links
An HTML link is displayed in a different color depending on whether it has been visited, is unvisited, or is active.
HTML Link Colors
By default, a link will appear like this (in all browsers):
- An unvisited link is underlined and blue
- A visited link is underlined and purple
- An active link is underlined and red
You can change the link state colors, by using CSS.
Example:
Here, an unvisited link will be green with no underline. A visited link will be pink with no underline. An active link will be yellow and underlined. In addition, when mousing over a link (a:hover) it will become red and underlined:
<!DOCTYPE html>
<html>
<head>
<style>
a:link {
color: green;
background-color: transparent;
text-decoration: none;
}
a:visited {
color: pink;
background-color: transparent;
text-decoration: none;
}
a:hover {
color: red;
background-color: transparent;
text-decoration: underline;
}
a:active {
color: yellow;
background-color: transparent;
text-decoration: underline;
}
</style>
</head>
<body>
<h2>Link Colors</h2>
<p>You can change the default colors of links</p>
<a href="html_images.asp" target="_blank">HTML Images</a>
</body>
</html>
Link Buttons
A link can also be styled as a button, by using CSS.
Example:
<!DOCTYPE html>
<html>
<head>
<style>
a:link, a:visited {
background-color: #f44336;
color: white;
padding: 15px 25px;
text-align: center;
text-decoration: none;
display: inline-block;
}
a:hover, a:active {
background-color: red;
}
</style>
</head>
<body>
<h2>Link Button</h2>
<p>A link styled as a button:</p>
<a href="default.asp" target="_blank">This is a link</a>
</body>
</html>
To learn more about CSS, go to our CSS Tutorial.
Create Bookmarks with Links
HTML links can be used to create bookmarks, so that readers can jump to specific parts of a web page.
Create a Bookmark in HTML
Bookmarks can be useful if a web page is very long.
To create a bookmark - first create the bookmark, then add a link to it.
When the link is clicked, the page will scroll down or up to the location with the bookmark.
Example
First, use the id
attribute to create a bookmark:
<h2 id="C4">Chapter 4</h2>
Then, add a link to the bookmark ("Jump to Chapter 4"), from within the same page:
<a href="#C4">Jump to Chapter 4</a>
You can also add a link to a bookmark on another page:
<a href="html_demo.html#C4">Jump to Chapter 4</a>