A link is the “address” to a document (or a resourse) on the web.
Examples
HTML links
This example demonstrates how to create links in an HTML document.
Open a link in a new browser window
This example demonstrates how to link to another page by opening a new window, so that the visitor does not have to leave your Web site.
(You can find more examples at the bottom of this page)
Hyperlinks, Anchors, and Links
In web terms, a hyperlink is a reference (an address) to a resource on the web.
Hyperlinks can point to any resource on the web: an HTML page, an image, a sound file, a movie, etc.
An anchor is a term used to define a hyperlink destination inside a document.
The HTML anchor element <a>, is used to define both hyperlinks and anchors.
We will use the term HTML link when the <a> element points to a resource, and the term HTML anchor when the <a> elements defines an address inside a document..
An HTML Link
Link syntax:
<a href="url">Link text</a> |
The start tag contains attributes about the link.
The element content (Link text) defines the part to be displayed.
Note: The element content don’t have to be a text. You can link from an image or any other HTML element.
The href Attribute
The href attribute defines the link “address”.
This <a> element defines a link to W3Schools:
<a href="http://www.w3schools.com/">Visit W3Schools!</a> |
The code above will display like this in a browser:
The target Attribute
The target attribute defines where the linked document will be opened.
The code below will open the document in a new browser window:
<a href="http://www.w3schools.com/" target="_blank">Visit W3Schools!</a> |
The name Attribute
When the name attribute is used, the <a> element defines a named anchor inside a HTML document.
Named anchor are not displayed in any special way. They are invisible to the reader.
Named anchor syntax:
<a name="label">Any content</a> |
The link syntax to a named anchor:
<a href="#label">Any content</a> |
The # in the href attribute defines a link to a named anchor.
Example:
A named anchor inside an HTML document:
<a name="tips">Useful Tips Section</a> |
A link to the Useful Tips Section from the same document:
<a href="#tips"> Jump to the Useful Tips Section</a> |
A link to the Useful Tips Section from another document:
<a href="http://www.w3schools.com/html_tutorial.htm#tips"> Jump to the Useful Tips Section</a> |
Basic Notes - Useful Tips
Always add a trailing slash to subfolder references. If you link like this: href=”http://www.w3schools.com/html”, you will generate two HTTP requests to the server, because the server will add a slash to the address and create a new request like this: href=”http://www.w3schools.com/html/”
Named anchors are often used to create “table of contents” at the beginning of a large document. Each chapter within the document is given a named anchor, and links to each of these anchors are put at the top of the document.
If a browser cannot find a named anchor thatĀ has been specified, it goes to the top of the document. No error occurs.
More Examples
An image as a link
This example demonstrates how to use an image as a link.
Link to a location on the same page
This example demonstrates how to use a link to jump to another part of a document.
Break out of a frame
This example demonstrates how to break out of a frame, if your site is locked in a frame.
Create a mailto link
This example demonstrates how to link to a mail message (will only work if you have mail installed).
Create a mailto link 2
This example demonstrates a more complicated mailto link.
Link Tags
Tag | Description |
---|---|
<a> | Defines an anchor |
The style attribute is a new HTML attribute. It introduces CSS to HTML.
Look! Styles and colorsThis text is in Verdana and red This text is in Times and green This text is 30 pixels high |
The HTML Style Attribute
The purpose of the style attribute is:
To provide a common way to style all HTML elements.
Styles was introduced with HTML 4, as the new and preferred way to style HTML elements. With HTML styles, styles can be added to HTML elements directly by using the style attribute, or indirectly by in separate style sheets (CSS files).
You can learn everything about styles and CSS in our CSS tutorial.
In our HTML tutorial we use the style attribute to introduce you to HTML styles.
HTML Style Examples
style=”background-color:yellow”
style=”font-size:10px”
style=”font-family:Times”
style=”text-align:center”
Deprecated Tags and Attributes
In HTML 4, some tags and attributes are defined as deprecated. Deprecated means that they will not be supported in future versions of HTML and XHTML.
The message is clear: Avoid the use of deprecated tags and attributes.
These tags and attributes should be avoided:
Tags | Description |
---|---|
<center> | Defines centered content |
<font> and <basefont> | Defines HTML fonts |
<s> and <strikeout> | Defines strikeout text |
<u> | Defines underlined text |
Attributes | |
align | Defines the alignment of text |
bgcolor | Defines the background color |
color | Defines the text color |
For all the above: Use styles instead.
Style Examples:
Background Color
<body style=”background-color:yellow”>
The style attribute defines a style for the <body> element.
Try it yourself: Background color
The new style attribute makes the “old” bgcolor attribute obsolete.
Try it yourself: Background the old way
Font Family, Color and Size
<p style=”font-family:courier new; color:red; font-size:20px”>
The style attribute defines a style for the <p> element.
The new style attribute makes the old <font> tag obsolete.
Try it yourself: Fonts the old way
Text Alignment
<h1 style=”text-align:center”>
The style attribute defines a style for the <h1> element.
Try it yourself: Centered heading
The new style attribute makes the old “align” attribute obsolete.
Attributes provide additional information about HTML elements.
HTML Attributes
- HTML elements can have attributes
- Attributes provide additional information about the element
- Attributes are always specified in the start tag
Attribute Syntax
Attributes always come in name/value pairs like this: name=”value”.
Examples
border=”1″
href=”http://www.indianexpress.info”
bgcolor=”yellow”
Attributes Example 1:
<table> defines an HTML table. (You will learn more about HTML tables later)
<table border=”1″>
The border attribute defines a border type for the <table> element.
Attributes Example 2:
<a> defines an anchor (an HTML link). (You will learn more about HTML linksĀ later)
<a href=”http://www.indianexpress.info”>
The href attribute provides the link address for the <a> element.
Attributes Example 3:
<body> defines the body of an HTML document.
<body bgcolor=”yellow”>
The bgcolor attribute defines the background color for the <body> element.
Note: bgcolor is a “dying” attribute, use styles instead (next chapter).
Always Quote Attribute Values
Attribute values should always be enclosed in quotes. Double style quotes are the most common, but single style quotes are also allowed.
In some rare situations, like when the attribute value itself contains quotes, it is necessary to use single quotes:
name=’John “ShotGun” Nelson’
HTML Tip - Use Lowercase Attributes
Attribute names and attribute values are case-insensitive.
However, the World Wide Web Consortium (W3C) recommends lowercase attributes/attribute values in their HTML 4 recommendation
Newer versions of (X)HTML will demand lowercase attributes.
HTML Attributes Reference
A full list of attributes for each HTML element is listed in our:
Below is a list of some attributes that are standard for all HTML elements (with a few exceptions):
Attribute | Value | Description |
---|---|---|
class | class_rule or style_rule | The class of the element |
id | id_name | A unique id for the element |
style | style_definition | An inline style definition |
title | tooltip_text | A text to display in a tool tip |
For more information about standard attributes:
HTML Elements
An HTML element is everything from the start tag to the end tag:
Start tag | Element content | End tag |
<p> | This is a paragraph | </p> |
<a href=”default.htm” > | This is a link | </a> |
HTML Element Syntax
- An HTML element starts with a start tag
- An HTML element ends with an end tag
- The element content is everything between the start and end tag
- Some HTML elements have empty content
- Some HTML elements have a missing end tag
Note: The start tag can have additional information (attributes). See next chapter.
Nested HTML Elements
Most HTML elements can be nested (can contain other HTML elements).
Most HTML documents consist of nested HTML elements.
HTML Document Example
<html> <body> </html> |
The example above contains 3 HTML elements:
<p>This is my first paragraph</p> |
The <p> element defines a paragraph in the HTML document:
The element has a start tag <p> and an end tag </p>
The element content is: This is my first paragraph
<body> <p>This is my first paragraph</p> </body> |
The <body> element defines the body of the HTML document
The element has a start tag <body> and an end tag </body>
The element content is another element (a paragraph)
<html> <body> <p>This is my first paragraph</p> </body> </html> |
The <html> element defines the whole HTML document.
The element has a start tag <html> and an end tag </html>
The element content is another element (the body)
Empty HTML Elements
HTML elements without content are called empty elements. Empty elements have no end tag.
<br /> is an empty element without a closing tag.
In XHTML, XML, and future versions of HTML, all elements must be closed.
Adding a slash to the start tag, like <br />, is the proper way of closing empty elements, accepted by HTML, XHTML and XML.
Even if <br> works in all browsers, writing <br /> instead is more future proof.
HTML Text Formatting
This text is bold
This text is big This text is italic
This is subscript and superscript |
HTML Formatting Tags
HTML uses tags like <b> and <i> for formatting output, like bold or italic text.
These HTML tags are called formatting tags.
Refer to the bottom of this page for a complete reference.
Examples - Try it Yourself
Text formatting
This example demonstrates how you can format text in an HTML document.
Preformatted text
This example demonstrates how you can control the line breaks and spaces with the pre tag.
“Computer output” tags
This example demonstrates how different “computer output” tags will be displayed.
Address
This example demonstrates how to write an address in an HTML document.
Abbreviations and acronyms
This example demonstrates how to handle an abbreviation or an acronym.
Text direction
This example demonstrates how to change the text direction.
Quotations
This example demonstrates how to handle long and short quotations.
Deleted and inserted text
This example demonstrates how to mark a text that is deleted or inserted to a document.
Text Formatting Tags
Tag | Description |
---|---|
<b> | Defines bold text |
<big> | Defines big text |
<em> | Defines emphasized text |
<i> | Defines italic text |
<small> | Defines small text |
<strong> | Defines strong text |
<sub> | Defines subscripted text |
<sup> | Defines superscripted text |
<ins> | Defines inserted text |
<del> | Defines deleted text |
<s> | Deprecated. Use <del> instead |
<strike> | Deprecated. Use <del> instead |
<u> | Deprecated. Use styles instead |
“Computer Output” Tags
Tag | Description |
---|---|
<code> | Defines computer code text |
<kbd> | Defines keyboard text |
<samp> | Defines sample computer code |
<tt> | Defines teletype text |
<var> | Defines a variable |
<pre> | Defines preformatted text |
<listing> | Deprecated. Use <pre> instead |
<plaintext> | Deprecated. Use <pre> instead |
<xmp> | Deprecated. Use <pre> instead |
Citations, Quotations, and Definition Tags
Tag | Description |
---|---|
<abbr> | Defines an abbreviation |
<acronym> | Defines an acronym |
<address> | Defines an address element |
<bdo> | Defines the text direction |
<blockquote> | Defines a long quotation |
<q> | Defines a short quotation |
<cite> | Defines a citation |
<dfn> | Defines a definition term |
HTML documents are divided into paragraphs.
HTML Paragraphs
Paragraphs are defined with the <p> tag.
<p>This is a paragraph</p> <p>This is another paragraph</p> |
Note: Browsers automatically adds an empty line before and after paragraphs.
Don’t Forget the End Tag
Most browsers will display HTML correctly even if you forget the end tag:
<p>This is a paragraph <p>This is another paragraph |
The example above will work in most browsers, but don’t rely on it. Forgetting the end tag can produce unexpected results or errors.
Note: Future version of HTML will not allow you to skip end tags.
HTML Line Breaks
Use the <br /> tag if you want a line break (a new line) without starting a new paragraph:
<p>This is<br />a para<br />graph with line breaks</p> |
The <br /> tag is an empty tag. It has no end tag like </br>.
You can read more about empty HTML tags in the next chapters of this tutorial.
<br> or <br />
In XHTML, XML, and future versions of HTML, tags with no end tags (closing tags) are not allowed.
Even if <br> works in all browsers, writing <br /> instead is more future proof.
HTML Rules (Lines)
The <hr /> tag is used to create an horizontal rule (line).
Example:
<p>This is a paragraph</p> <hr /> <p>This is a paragraph</p> <hr /> <p>This is a paragraph</p> |
HTML Output - Useful Tips
You cannot be sure how HTML will be displayed. Large or small screens, and resized windows will create different results.
With HTML, you cannot change the output by adding extra spaces or extra lines in your HTML code.
The browser will remove extra spaces and extra lines when the page is displayed. Any number of lines count as one space, and any number of spaces count as one space.
Try it yourself (The example demonstrates some HTML formatting problems)
Examples From This Page
HTML paragraphs
This example demonstrates how HTML paragraphs are displayed in a browser.
Line breaks
This example demonstrates the use of line breaks in an HTML document.
Horizontal rule
This example demonstrates how to insert a horizontal rule.
Poem problems
This example demonstrates some problems with HTML formatting.
More Examples
More paragraphs
This example demonstrates some of the default behaviors of paragraph elements.
HTML Tag Reference
You will learn more about HTML tag attributes in the next chapters of this tutorial.
Tag | Description |
---|---|
<p> | Defines a paragraph |
<br /> | Inserts a single line break |
<hr> | Defines a horizontal rule |
Headings are important in HTML documents.
HTML Headings
Headings are defined with the <h1> to <h6> tags.
<h1> defines the largest heading. <h6> defines the smallest heading.
<h1>This is a heading</h1> <h2>This is a heading</h2> <h3>This is a heading</h3> |
Note: Browsers automatically adds an empty line before and after headings.
Headings Are Important
Use the HTML heading tags for headings only. Don’t use headings to make something BIG or bold.
Search engines use your headings to index the structure and content of your web pages.
Since users may skim your pages by its headings, it is important to use headings to show the document structure.
H1 headings should be used as main headings, followed by H2 headings, and less important H3 headings, and so on.
HTML Comments
Comments can be inserted in the HTML code to make it more readable and understandable. Comments are ignored by the browser and not displayed.
Comments are written like this:
<!-- This is a comment --> |
Note: There is an exclamation point after the opening bracket, but not before the closing bracket.
HTML Tip - How to View HTML Source
Have you ever seen a Web page and wondered “Hey! How did they do that?”
To find out, click the VIEW option in your browser’s toolbar and select SOURCE or PAGE SOURCE. This will open a window that shows you the HTML code of the page.
Examples From This Page
Headings
This example demonstrates the tags that display headings in an HTML document.
Hidden comments
This example demonstrates how to insert a hidden comment in the HTML source code.
HTML Tag Reference
You will learn more about HTML tag attributes in the next chapters of this tutorial.
Tag | Description |
---|---|
<html> | Defines an HTML document |
<body> | Defines the document’s body |
<h1> to <h6> | Defines header 1 to header 6 |
<!–> | Defines a comment |
Don’t worry if the examples below use tags you have not learned yet. You will learn about it in the next chapters.
HTML Headings
HTML headings are defined with the <h1> to <h6> tags.
<h1>This is a heading</h1> <h2>This is a heading</h2> <h3>This is a heading</h3> |
HTML Paragraphs
HTML paragraphs are defined with the <p> tag.
<p>This is a paragraph</p> <p>This is another paragraph</p> |
HTML Links
HTML links are defined with the <a> tag.
<a href="http://www.w3schools.com">This is a link</a> |
Note: The <a> tag contains an attribute (href) to provide the link address.
HTML Images
HTML images are defined with the <img> tag.
<img src="constr4.gif" width="144" height="50" /> |
Note: The name of the image and the size are provided as attributes.
What Do You Need?
You don’t need any tools to learn HTML at W3Schools.
- You don’t need any HTML editor
- You don’t need a web server
- You don’t need a web site
Editing HTML
In this tutorial we use a plain text editor (like Notepad) to edit HTML. We believe this is the best way to learn HTML.
However, professional web developers often prefer HTML editors like FrontPage or Dreamweaver, instead of writing plain text.
Creating Your Own Test Web
If you just want to learn HTML, skip the rest of this chapter.
If you want to create a test web on your own computer, just copy the 3 files below to your desktop.
(Right click on each link, and select “save target as” or “save link as”)
After you have copied the files, you can double-click on the file called “mainpage.htm” and see your first web site in action.
Use Your Test Web For Learning
We suggest you experiment with everything you learn at W3Schools by editing your web files with a text editor (like Notepad).
Note: If your first web site contains HTML markup tags you have not learned yet, don’t panic. You will learn much more HTML in the next chapters.
HTM or HTML Extension?
When you save an HTML file, you can use either the .htm or the .html extension. We use .htm in our examples. It is a habit from the past, when the software only allowed three letters in file extensions.
With new software it is perfectly safe to use .html.