HTML


(1) HTML Introduction

Example

<html>
<body>

<h1>My First Heading</h1>

<p>My first paragraph.</p>

</body>
</html>

(1.1) What is HTML?

HTML is a language for describing web pages.
  • HTML stands for Hyper Text Markup Language
  • HTML is not a programming language, it is a markup language
  • A markup language is a set of markup tags
  • HTML uses markup tags to describe web pages

(1.2) HTML Tags

HTML markup tags are usually called HTML tags
  • HTML tags are keywords surrounded by angle brackets like <html>
  • HTML tags normally come in pairs like <b> and </b>
  • The first tag in a pair is the start tag, the second tag is the end tag
  • Start and end tags are also called opening tags and closing tags

(1.3) HTML Documents = Web Pages

  • HTML documents describe web pages
  • HTML documents contain HTML tags and plain text
  • HTML documents are also called web pages
The purpose of a web browser (like Internet Explorer or Firefox) is to read HTML documents and display them as web pages. The browser does not display the HTML tags, but uses the tags to interpret the content of the page:
<html>
<body>

<h1>My First Heading</h1>

<p>My first paragraph.</p>

</body>
</html>

Example Explained

  • The text between <html> and </html> describes the web page
  • The text between <body> and </body> is the visible page content
  • The text between <h1> and </h1> is displayed as a heading
  • The text between <p> and </p> is displayed as a paragraph.   


    (2) HTML - Getting Started



    (2.1) Editing HTML

    HTML can be written and edited using many different editors like Dreamweaver and Visual Studio.
    However, in this tutorial we use a plain text editor (like Notepad) to edit HTML. We believe using a plain text editor is the best way to learn HTML.

    (2.2) Create Your Own Test Web

    If you want to create a test page 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")
    mainpage.htm
    page1.htm
    page2.htm
    After you have copied the files, you can double-click on the file called "mainpage.htm" and see your first web site in action.


    (2.3) .HTM or .HTML File Extension?

    When you save an HTML file, you can use either the .htm or the .html file extension. There is no difference, it is entirely up to you.


    (3) HTML Basic - 4 Examples



    (3.1) HTML Headings

    HTML headings are defined with the <h1> to <h6> tags.

    Example

    <h1>This is a heading</h1>
    <h2>This is a heading</h2>
    <h3>This is a heading</h3>


    (3.2) HTML Paragraphs

    HTML paragraphs are defined with the <p> tag.

    Example

    <p>This is a paragraph.</p>
    <p>This is another paragraph.</p>


    (3.3) HTML Links

    HTML links are defined with the <a> tag.

    Example

    <a href="http://www.w3schools.com">This is a link</a>
    Note: The link address is specified in the href attribute.
    (You will learn about attributes in a later chapter of this tutorial).

    (3.4) HTML Images

    HTML images are defined with the <img> tag.

    Example

    <img src="w3schools.jpg" width="104" height="142" />
    Note: The name and the size of the image are provided as attributes.

    (4) HTML Elements

    HTML documents are defined by HTML elements.

    (4.1) 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>
    <br />


    * The start tag is often called the opening tag. The end tag is often called the closing tag.

    (4.2) HTML Element Syntax

  • An HTML element starts with a start tag / opening tag
  • An HTML element ends with an end tag / closing tag
  • The element content is everything between the start and the end tag
  • Some HTML elements have empty content
  • Empty elements are closed in the start tag
  • Most HTML elements can have attributes
Tip: You will learn about attributes in the next chapter of this tutorial.

(4.3) Nested HTML Elements

Most HTML elements can be nested (can contain other HTML elements).
HTML documents consist of nested HTML elements.

(4.4) HTML Document Example

<html>

<body>
<p>This is my first paragraph.</p>
</body>

</html>
The example above contains 3 HTML elements.

(4.5) HTML Example Explained

The <p> element:
<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.
The <body> element:
<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 HTML element (a p element).
The <html> element:
<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 HTML element (the body element).

(4.6) Don't Forget the End Tag

Some HTML elements might display correctly even if you forget the end tag:
<p>This is a paragraph
<p>This is a paragraph
The example above works in most browsers, because the closing tag is considered optional.
Never rely on this. Many HTML elements will produce unexpected results and/or errors if you forget the end tag .

(4.7) Empty HTML Elements

HTML elements with no content are called empty elements.
<br> is an empty element without a closing tag (the <br> tag defines a line break).
Tip: In XHTML, all elements must be closed. Adding a slash inside the start tag, like <br />, is the proper way of closing empty elements in XHTML (and XML).

(4.8) HTML Tip: Use Lowercase Tags

HTML tags are not case sensitive: <P> means the same as <p>. Many web sites use uppercase HTML tags.
W3Schools use lowercase tags because the World Wide Web Consortium (W3C) recommendslowercase in HTML 4, and demands lowercase tags in XHTML.


(5) HTML Attributes


Attributes provide additional information about HTML elements.

(5.1) HTML Attributes

  • HTML elements can have attributes
  • Attributes provide additional information about an element
  • Attributes are always specified in the start tag
  • Attributes come in name/value pairs like: name="value"

(5.2) Attribute Example

HTML links are defined with the <a> tag. The link address is specified in the href attribute:

Example

<a href="http://www.w3schools.com">This is a link</a>


(5.3) 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.
Remark Tip: In some rare situations, when the attribute value itself contains quotes, it is necessary to use single quotes: name='John "ShotGun" Nelson'

(5.4) 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.

(5.5) HTML Attributes Reference

A complete list of legal attributes for each HTML element is listed in our:
Below is a list of some attributes that are standard for most HTML elements:
Attribute
Value
Description
Class
classname
Specifies a classname for an element
Id
id
Specifies a unique id for an element
Style
style_definition
Specifies an inline style for an element
Title
tooltip_text 
Specifies extra information about an element (displayed as a tool tip)
For more information about standard attributes:



(6) HTML Headings


Headings are important in HTML documents.

(6.1) HTML Headings

Headings are defined with the <h1> to <h6> tags.
<h1> defines the most important heading. <h6> defines the least important heading.

Example

<h1>This is a heading</h1>
<h2>This is a heading</h2>
<h3>This is a heading</h3>
Note: Browsers automatically add some empty space (a margin) before and after each heading.

(6.2) Headings Are Important

Use HTML headings for headings only. Don't use headings to make text 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, then the less important H3 headings, and so on.

(6.3) HTML Lines

The <hr /> tag creates a horizontal line in an HTML page.

The hr element can be used to separate content:

Example

<p>This is a paragraph</p>
<hr />
<p>This is a paragraph</p>
<hr />
<p>This is a paragraph</p>


(6.4) HTML Comments

Comments can be inserted into the HTML code to make it more readable and understandable. Comments are ignored by the browser and are not displayed.
Comments are written like this:

Example

<!-- This is a comment -->
Note: There is an exclamation point after the opening bracket, but not before the closing bracket.


(6.5) 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, right-click in the page and select "View Source" (IE) or "View Page Source" (Firefox), or similar for other browsers. This will open a window containing the HTML code of the page.

Examples

Examples From This Page

Headings
How to display headings in an HTML document.
Hidden comments
How to insert comments in the HTML source code.
Horizontal lines
How to insert a horizontal line.

(6.6) HTML Tag Reference

W3Schools' tag reference contains additional information about these tags and their attributes.
You will learn more about HTML tags and attributes in the next chapters of this tutorial.
Tag
Description
Defines an HTML document
Defines the document's body
Defines HTML headings
Defines a horizontal line
Defines a comment



(7) HTML Paragraphs

HTML documents are divided into paragraphs.

(7.1) HTML Paragraphs

Paragraphs are defined with the <p> tag.

Example

<p>This is a paragraph</p>
<p>This is another paragraph</p>
Note: Browsers automatically add an empty line before and after a paragraph.

(7.2) Don't Forget the End Tag

Most browsers will display HTML correctly even if you forget the end tag:

Example

<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.

(7.3) HTML Line Breaks

Use the <br /> tag if you want a line break (a new line) without starting a new paragraph:

Example

<p>This is<br />a para<br />graph with line breaks</p>
The <br /> element is an empty HTML element. It has no end tag.

<br> or <br />

In XHTML, XML, and future versions of HTML, HTML elements with no end tag (closing tag) are not allowed.
Even if <br> works in all browsers, writing <br /> instead is more future proof.

(7.4) 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 line, and any number of spaces count as one space.
(The example demonstrates some HTML formatting problems)

Examples

Examples From This Page

HTML paragraphs
How HTML paragraphs are displayed in a browser.
Line breaks
The use of line breaks in an HTML document.
Poem problems
Some problems with HTML formatting.

More Examples

More paragraphs
The default behaviors of paragraphs.

(7.5) HTML Tag Reference

W3Schools' tag reference contains additional information about HTML elements and their attributes.
Tag
Description
Defines a paragraph
Inserts a single line break



(8) HTML Text Formatting

HTML Text Formatting

This text is bold

This text is big

This text is italic

This is computer output

This is subscript and superscript

(8.1) 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 (look at the bottom of this page for a complete reference).
Remark
Often <strong> renders as <b>, and <em> renders as <i>.

However, there is a difference in the meaning of these tags:

<b> or <i> defines bold or italic text only.

<strong> or <em> means that you want the text to be rendered in a way that the user understands as "important". Today, all major browsers render strong as bold and em as italics. However, if a browser one day wants to make a text highlighted with the strong feature, it might be cursive for example and not bold!


Examples

Try it Yourself - Examples

Text formatting
How to format text in an HTML document.
Preformatted text
How to control the line breaks and spaces with the pre tag.
"Computer output" tags
How different "computer output" tags will be displayed.
Address
How to define contact information for the author/owner of an HTML document.
Abbreviations and acronyms
How to handle abbreviations and acronyms.
Text direction
How to change the text direction.
Quotations
How to handle long and short quotations.
Deleted and inserted text
How to mark deleted and inserted text.

(8.2) HTML Text Formatting Tags

Tag
Description
Defines bold text
Defines big text
Defines emphasized text 
Defines italic text
Defines small text
Defines strong text
Defines subscripted text
Defines superscripted text
Defines inserted text
Defines deleted text

 

 

(8.3) HTML "Computer Output" Tags

Tag
Description
Defines computer code text
Defines keyboard text 
Defines sample computer code
Defines teletype text
Defines a variable
Defines preformatted text

 

(8.4) HTML Citations, Quotations, and Definition Tags

Tag
Description
Defines an abbreviation
Defines an acronym
Defines contact information for the author/owner of a document
Defines the text direction
Defines a long quotation
Defines a short quotation
Defines a citation
Defines a definition term

 

(9) HTML Styles - CSS


CSS is used to style HTML elements.

Look! Styles and colors

This text is in Verdana and red
This text is in Times and blue
This text is 30 pixels high

(9.1) Styling HTML with CSS

CSS was introduced with HTML 4, to provide a common way to style HTML elements.
CSS styling can be added to HTML in the following ways
  • in separate style sheet files (CSS files)
  • in the style element in the HTML head section
  • in the style attribute in single HTML elements.

(9.2) Using the HTML Style Attribute

It is time consuming and not very practical to style HTML elements using the style attribute.
The preferred way to add CSS to HTML, is to put CSS syntax in separate CSS files.
However, in this HTML tutorial we will introduce you to CSS using the style attribute. This is done to simplify the examples. It also makes it easier for you to edit the code and try it yourself.
You can learn everything about styles and CSS in our CSS Tutorial.

(9.3) HTML Style Example - Background Color

The background-color property defines the background color for an element:

Example

<html>

<body style="background-color:yellow">
<h2 style="background-color:red">This is a heading</h2>
<p style="background-color:green">This is a paragraph.</p>
</body>

</html>
The style attribute makes the "old" bgcolor attribute obsolete.

(9.4) HTML Style Example - Font, Color and Size

The font-family, color, and font-size properties defines the font, color, and size of the text in an element:

Example

<html>

<body>
<h1 style="font-family:verdana">A heading</h1>
<p style="font-family:arial;color:red;font-size:20px;">A paragraph.</p>
</body>

</html>
The style attribute makes the old <font> tag obsolete.

(9.5) HTML Style Example - Text Alignment

The text-align property specifies the horizontal alignment of text in an element:

Example

<html>

<body>
<h1 style="text-align:center">This is a heading</h1>
<p>The heading above is aligned to the center of this page.</p>
</body>

</html>
The style attribute makes the old "align" attribute obsolete.

 

(9.6) Deprecated Tags and Attributes

In HTML 4, several tags and attributes are deprecated. Deprecated means that they will not be supported in future versions of HTML and XHTML.
Remark The message is clear: Avoid using deprecated tags and attributes!
These tags and attributes should be avoided:

Tags
Description
<center>
Deprecated. Defines centered content
<font> and <basefont>
Deprecated. Defines HTML fonts
<s> and <strike>
Deprecated. Defines strikethrough text
<u>
Deprecated. Defines underlined text
Attributes
Description
Align
Deprecated. Defines the alignment of text
bgcolor
Deprecated. Defines the background color
Color
Deprecated. Defines the text color
For all of the above: Use styles instead!



(10) HTML Links


Links are found in nearly all Web pages. Links allow users to click their way from page to page.

Examples

Try it Yourself - Examples

HTML links
How to create links in an HTML document.
(You can find more examples at the bottom of this page)

(10.1) HTML Hyperlinks (Links)

A hyperlink (or link) is a word, group of words, or image that you can click on to jump to a new document or a new section within the current document.
When you move the cursor over a link in a Web page, the arrow will turn into a little hand.
Links are specified in HTML using the <a> tag.
The <a> tag can be used in two ways:
1.     To create a link to another document, by using the href attribute
2.     To create a bookmark inside a document, by using the name attribute

(10.2) HTML Link Syntax

The HTML code for a link is simple. It looks like this:
<a href="url">Link text</a>
The href attribute specifies the destination of a link.

Example

<a href="http://www.w3schools.com/">Visit W3Schools</a>
which will display like this: Visit W3Schools
Clicking on this hyperlink will send the user to W3Schools' homepage.
Tip: The "Link text" doesn't have to be text. You can link from an image or any other HTML element.

 

(10.3) HTML Links - The target Attribute

The target attribute specifies where to open the linked document.
The example below will open the linked document in a new browser window or a new tab:

Example

<a href="http://www.w3schools.com/" target="_blank">Visit W3Schools!</a>


(10.4) HTML Links - The name Attribute

The name attribute specifies the name of an anchor.

The name attribute is used to create a bookmark inside an HTML document.
Note:
The upcoming HTML5 standard suggest using the id attribute instead of the name attribute for specifying the name of an anchor. 
Using the id attribute actually works also for HTML4 in all modern browsers.
Bookmarks are not displayed in any special way. They are invisible to the reader.

Example

A named anchor inside an HTML document:
<a name="tips">Useful Tips Section</a>
Create a link to the "Useful Tips Section" inside the same document:
<a href="#tips">Visit the Useful Tips Section</a>
Or, create a link to the "Useful Tips Section" from another page:
<a href="http://www.w3schools.com/html_links.htm#tips">
Visit the Useful Tips Section</a>


(10.5) Basic Notes - Useful Tips

Note: Always add a trailing slash to subfolder references. If you link like this: href="http://www.w3schools.com/html", you will generate two requests to the server, the server will first add a slash to the address, and then create a new request like this: href="http://www.w3schools.com/html/".
Tip: 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.
Tip: If a browser does not find the named anchor specified, it goes to the top of the document. No error occurs.

Examples

More Examples

An image as a link
How to use an image as a link.
Link to a location on the same page
How to link to a bookmark.
Break out of a frame
How to break out of a frame (if your site is locked in a frame).
Create a mailto link
How to link to a mail message (will only work if you have mail installed).
Create a mailto link 2
Another mailto link.

(10.6) HTML Link Tags

Tag
Description
Defines an anchor

 

(11) HTML Images


Example

Norwegian Mountain Trip

Pulpit Rock

Examples

Try it Yourself - Examples

Insert images
How to insert images into an HTML document.
Insert images from different locations
How to insert an image from another folder or another server.
(You can find more examples at the bottom of this page).

(11.1) HTML Images - The <img> Tag and the Src Attribute

In HTML, images are defined with the <img> tag. 
The <img> tag is empty, which means that it contains attributes only, and has no closing tag.
To display an image on a page, you need to use the src attribute. Src stands for "source". The value of the src attribute is the URL of the image you want to display.
Syntax for defining an image:
<img src="url" alt="some_text"/>
The URL points to the location where the image is stored. An image named "boat.gif", located in the "images" directory on "www.w3schools.com" has the URL: http://www.w3schools.com/images/boat.gif.
The browser displays the image where the <img> tag occurs in the document. If you put an image tag between two paragraphs, the browser shows the first paragraph, then the image, and then the second paragraph.

(11.2) HTML Images - The Alt Attribute

The required alt attribute specifies an alternate text for an image, if the image cannot be displayed.
The value of the alt attribute is an author-defined text:
<img src="boat.gif" alt="Big Boat" />
The alt attribute provides alternative information for an image if a user for some reason cannot view it (because of slow connection, an error in the src attribute, or if the user uses a screen reader).

(11.3) HTML Images - Set Height and Width of an Image

The height and width attributes are used to specify the height and width of an image.
The attribute values are specified in pixels by default:
<img src="pulpit.jpg" alt="Pulpit rock" width="304" height="228" />
Tip: It is a good practice to specify both the height and width attributes for an image. If these attributes are set, the space required for the image is reserved when the page is loaded. However, without these attributes, the browser does not know the size of the image. The effect will be that the page layout will change during loading (while the images load).

(11.4) Basic Notes - Useful Tips

Note: If an HTML file contains ten images - eleven files are required to display the page right. Loading images take time, so my best advice is: Use images carefully.
Note: When a web page is loaded, it is the browser, at that moment, that actually gets the image from a web server and inserts it into the page. Therefore, make sure that the images actually stay in the same spot in relation to the web page, otherwise your visitors will get a broken link icon. The broken link icon is shown if the browser cannot find the image.

Examples

More Examples