HTML Links: How to create Links to other Web Pages

This article explains how to create a link from one page to another. It also outlines the different types of hyperlinks.

Links, otherwise known as hyperlinks, are defined using the <a> tag — otherwise known as the anchor element.

To create a hyperlink, you use the <a> tag in conjunction with the href attribute. The value of the href attribute is the URL, or, location of where the link is pointing to.

Example:

<p>Here are some <a href="http://www.quackit.com/html/codes/">HTML codes</a> to play with.</p>

Try it with the Online Editor

Hypertext references can use absolute URLS, relative URLs, or root relative URLs.

absolute

This refers to a URL where the full path is provided. For example:

<a href="http://www.quackit.com/html/tutorial/">HTML Tutorial</a>
relative

This refers to a URL where the path, relative to the current location, is provided.

For example, if we want to reference the http://www.quackit.com/html/tutorial/ URL, and our current location is http://www.quackit.com/html/, we would use this:

<a href="tutorial/">HTML Tutorial</a>
root relative

This refers to a URL where the path, relative to the domain's root, is provided.

For example, if we want to reference the http://www.quackit.com/html/tutorial/ URL, and the current location is http://www.quackit.com/html/, we could use this:

<a href="/html/tutorial/">HTML Tutorial</a>

The forward slash indicates the domain's root. No matter where your file is located, you can always use this method to specify the path, even if you don't know what the domain name will eventually be (as long as you know the full path from the root).

You can nominate whether to open the URL in a new window or the current window. You do this with the target attribute. For example, target="_blank" opens the URL in a new window.

The target attribute can have the following possible values:

_blankOpens the URL in a new browser window.
_selfLoads the URL in the current browser window.
_parentLoads the URL into the parent frame (still within the current browser window). This is only applicable when using frames.
_topLoads the URL in the current browser window, but cancelling out any frames. Therefore, if frames were being used, they aren't any longer.

Example:

<a href="http://www.quackit.com" target="_blank">Quackit</a>

Try it with the Online Editor

Jump Links

You can make your links "jump" to other sections within the same page (or another page). These used to be called "named anchors", but they're often referred to as jump links, bookmarks, or fragment identifiers.

Here's how to link to the same page:

  1. Add an ID to the Link Target

    Add an ID to the part of the page that you want the user to end up. To do this, use the id attribute. The value should be some short descriptive text. The id attribute is a commonly used attribute in HTML.

    <h2 id="elephants">Elephants</h2>
  2. Create the Hyperlink

    Now create the hyperlink (that the user will click on). This is done by using the id of the link target, preceded by a hash (#) symbol:

    <a href="#elephants">Jump to Elephants</a>

So these two pieces of code are placed in different parts of the document. Something like this:

<!DOCTYPE html>
<html>
<title>Example</title>
<body>
<p><a href="#elephants">Jump to Elephants</a></p>

<h2>Cats</h2>
<p>All about cats.</p>

<h2>Dogs</h2>
<p>All about dogs.</p>

<h2>Birds</h2>
<p>All about birds.</p>

<h2 id="elephants">Elephants</h2>
<p>All about elephants.</p>

<h2>Monkeys</h2>
<p>All about monkeys.</p>

<h2>Snakes</h2>
<p>All about snakes.</p>

<h2>Rats</h2>
<p>All about rats.</p>

<h2>Fish</h2>
<p>All about fish.</p>

<h2>Buffalo</h2>
<p>All about buffalo.</p>
</body>
</html>

Try it with the Online Editor

It doesn't have to be the same page. You can use this method to jump to an ID of any page. To do this, simply add the destination URL before the hash (#) symbol. Example:

<a href="http://www.example.com#elephants">Jump to Elephants</a>

Of course, this assumes that there's an ID with that value on the page.

Email Links

You can create a hyperlink to an email address. To do this, use the mailto attribute in your anchor tag.

Example:

<a href="mailto:king_kong@example.com">Email King Kong</a>

Try it with the Online Editor

Clicking on this link should result in your default email client opening up with the email address already filled out.

You can go a step further than this. You can auto-complete the subject line for your users, and even the body of the email. You do this appending subject and body parameters to the email address.

<a href="mailto:king_kong@example.com?subject=Question&body=Hey there">Email King Kong</a>

Try it with the Online Editor

Base href

You can specify a default URL for all links on the page to start with. You do this by placing the base tag (in conjunction with the href attribute) in the document's <head>.

Example HTML Code:

<!DOCTYPE html>
<html>
<head>
<title>Example</title>
<base url="http://www.quackit.com">
</head>
<body>
<a href="html">HTML</a>
</body>
</html>

Try it with the Online Editor