The document provides an introduction to HTML (Hypertext Markup Language) including:
- HTML is a markup language used to define the structure and layout of web pages.
- HTML uses tags to annotate text with semantic meaning like headings, paragraphs, links, and images.
- The browser displays the HTML tags but does not show them, using them to interpret and display the content.
1 of 93
More Related Content
Html
1. http://www.w3schools.com/html/html_quick.asp
<html>
<body>
<h1>My First Heading</h1>
<p>My first paragraph.</p>
</body>
</html>
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
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.
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 docu-
ments 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>
2. 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
HTML - Getting Started
What 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.
Create 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")
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.
3. 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 test web contains HTML markup tags you have not learned, don't panic.
You will learn all about it 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.
HTML Basic - 4 Examples
Don't worry if the examples use tags you have not learned.
You will learn about them in the next chapters.
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>
HTML Paragraphs
HTML paragraphs are defined with the <p> tag.
Example
<p>This is a paragraph</p>
<p>This is another paragraph</p>
4. 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 provided as an attribute.
(You will learn about attributes in a later chapter of this tutorial)
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.
(You will learn about attributes in a later chapter of this tutorial)
HTML Elements
HTML documents are defined by HTML elements.
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 />
5. * The start tag is often called the opening tag. The end tag is often called the closing tag.
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
(You will learn about element attributes in the next chapter of this tutorial)
Nested HTML Elements
Most HTML elements can be nested (can contain other HTML elements).
HTML documents consist of nested HTML elements.
HTML Document Example
<html>
<body>
<p>This is my first paragraph</p>
</body>
</html>
The example above contains 3 HTML elements.
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>
6. <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 paragraph)
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)
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 a 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.
Empty HTML Elements
HTML elements without content are called empty elements. Empty elements can be
closed in the start tag.
<br> is an empty element without a closing tag (it defines a line break).
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 ele-
ments, accepted by HTML, XHTML and XML.
Even if <br> works in all browsers, writing <br /> instead is more future proof.
HTML Tip: Use Lowercase Tags
7. HTML tags are not case sensitive: <P> means the same as <p>. Plenty of web sites
use uppercase HTML tags in their pages.
W3Schools use lowercase tags because the World Wide Web Consortium (W3C) recom-
mends lowercase in HTML 4, and demands lowercase tags in future versions of
(X)HTML.
HTML Attributes
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
• Attributes come in name/value pairs like: name="value"
Attribute Example
HTML links are defined with the <a> tag. The link address is provided as an attribute:
Example
<a href="http://www.w3schools.com">This is a link</a>
(You will learn about links in a later chapter of this tutorial)
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 nec-
essary to use single quotes:
name='John "ShotGun" Nelson'
HTML Tip: Use Lowercase Attributes
Attribute names and attribute values are case-insensitive.
8. 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 legal attributes for each HTML element is listed in our:
Complete HTML Reference
Below is a list of some attributes that are standard for most HTML elements:
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 Headings
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.
Example
<h1>This is a heading</h1>
<h2>This is a heading</h2>
<h3>This is a heading</h3>
9. Note: Browsers automatically adds an empty line before and after headings.
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 less im-
portant H3 headings, and so on.
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 Comments
Comments can be inserted in the HTML code to make it more readable and under-
standable. 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 clos-
ing bracket.
HTML Tip - How to View HTML Source
10. 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.
Horizontal rule
This example demonstrates how to insert a horizontal rule.
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 tutori-
al.
Tag
Description
<html>
Defines an HTML document
<body>
Defines the document's body
<h1> to <h6>
Defines header 1 to header 6
<hr />
Defines a horizontal rule
<!-->
Defines a comment
HTML Paragraphs
HTML documents are divided into paragraphs.
11. 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 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:
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.
HTML Line Breaks
Use the <br /> tag if you want a line break (a new line) without starting a new para-
graph:
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.
12. 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.
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
W3Schools' tag reference contains additional information about HTML elements and
their attributes.
Tag
Description
<p>
Defines a paragraph
<br />
Inserts a single line break
13. 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
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.
Try it Yourself - Examples
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
14. 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 docu-
ment.
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
15. <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 Styles
The style attribute is a new HTML attribute. It introduces CSS to HTML.
Look! Styles and colors
This text is in Verdana and red
This text is in Times and blue
16. This text is 30 pixels high
Try it yourself
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 ele-
ments. 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
17. Attributes
Description
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.
Try it yourself: Font Example
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.
Try it yourself: Centered heading the old way
18. HTML Links
A link is the "address" to a document (or a resource) on the web.
Try it Yourself - 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 doesn't have to be text. You can link from an image or any
other HTML element.
19. 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:
Visit W3Schools!
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:
Example
<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>
20. 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
21. HTML Images
Example
Norwegian Mountain Trip
Try it Yourself - Examples
Insert images
This example demonstrates how to display images in your Web page.
Insert images from different locations
This example demonstrates how to display images from another folder or another
server in your Web page.
(You can find more examples at the bottom of this page)
22. The Image 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 it 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 on
your page.
The syntax of defining an image:
<img src="url" />
The URL points to the location where the image is stored. An image named "boat.gif"
located in the directory "images" on "www.w3schools.com" has the URL:
http://www.w3schools.com/images/boat.gif.
The browser puts the image where the image 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.
The Alt Attribute
The alt attribute is used to define an "alternate text" for an image. The value of the alt
attribute is an author-defined text:
<img src="boat.gif" alt="Big Boat" />
The "alt" attribute tells the reader what he or she is missing on a page if the browser
can't load images. The browser will then display the alternate text instead of the im-
age. It is a good practice to include the "alt" attribute for each image on a page, to
improve the display and usefulness of your document for people who have text-only
browsers.
Basic Notes - Useful Tips
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.
More Examples
Background image
This example demonstrates how to add a background image to an HTML page.
Aligning images
23. This example demonstrates how to align an image within the text.
Let the image float
This example demonstrates how to let an image float to the left or right of a para-
graph.
Adjust images to different sizes
This example demonstrates how to adjust images to different sizes.
Display an alternate text for an image
This example demonstrates how to display an alternate text for an image. The "alt"
attribute tells the reader what he or she is missing on a page if the browser can't load
images. It is a good practice to include the "alt" attribute for each image on a page.
Make a hyperlink of an image
This example demonstrates how to use an image as a link.
Create an image map
This example demonstrates how to create an image map, with clickable regions. Each
of the regions is a hyperlink.
Turn an image into an image map
This example demonstrates how to turn an image into an image map. You will see
that if you move the mouse over the image, the coordinates will be displayed on the
status bar.
Image Tags
Tag
Description
<img>
Defines an image
<map>
Defines an image map
<area>
Defines a clickable area inside an image map
HTML Tables
HTML Tables
Apples
44%
Bananas
24. 23%
Oranges
13%
Other
10%
Try it Yourself - Examples
Tables
How to define tables in an HTML document.
Table borders
This example demonstrates different table borders.
More examples at the bottom of the page.
Tables
Tables are defined with the <table> tag. A table is divided into rows (with the <tr>
tag), and each row is divided into data cells (with the <td> tag). The letters td stands
for "table data," which is the content of a data cell. A data cell can contain text, im-
ages, lists, paragraphs, forms, horizontal rules, tables, etc.
<table border="1">
<tr>
<td>row 1, cell 1</td>
<td>row 1, cell 2</td>
</tr>
<tr>
<td>row 2, cell 1</td>
<td>row 2, cell 2</td>
</tr>
</table>
How it looks in a browser:
row 1, cell 1
row 1, cell 2
row 2, cell 1
row 2, cell 2
Tables and the Border Attribute
If you do not specify a border attribute the table will be displayed without any bor-
ders. Sometimes this can be useful, but most of the time, you want the borders to
show.
25. To display a table with borders, you will have to use the border attribute:
<table border="1">
<tr>
<td>Row 1, cell 1</td>
<td>Row 1, cell 2</td>
</tr>
</table>
Headings in a Table
Headings in a table are defined with the <th> tag.
<table border="1">
<tr>
<th>Heading</th>
<th>Another Heading</th>
</tr>
<tr>
<td>row 1, cell 1</td>
<td>row 1, cell 2</td>
</tr>
<tr>
<td>row 2, cell 1</td>
<td>row 2, cell 2</td>
</tr>
</table>
How it looks in a browser:
Heading
Another Heading
row 1, cell 1
row 1, cell 2
row 2, cell 1
row 2, cell 2
Empty Cells in a Table
Table cells with no content are not displayed very well in most browsers.
<table border="1">
<tr>
<td>row 1, cell 1</td>
<td>row 1, cell 2</td>
</tr>
<tr>
<td>row 2, cell 1</td>
<td></td>
</tr>
</table>
How it looks in a browser:
26. row 1, cell 1
row 1, cell 2
row 2, cell 1
Note that the borders around the empty table cell are missing (NB! Mozilla Firefox dis-
plays the border).
To avoid this, add a non-breaking space ( ) to empty data cells, to make the
borders visible:
<table border="1">
<tr>
<td>row 1, cell 1</td>
<td>row 1, cell 2</td>
</tr>
<tr>
<td>row 2, cell 1</td>
<td> </td>
</tr>
</table>
How it looks in a browser:
row 1, cell 1
row 1, cell 2
row 2, cell 1
Basic Notes - Useful Tips
The <thead>,<tbody> and <tfoot> elements are seldom used, because of bad brows-
er support. Expect this to change in future versions of XHTML. If you have Internet
Explorer 5.0 or newer, you can view a working example in our XML tutorial.
More Examples
Table with no border
This example demonstrates a table with no borders.
Headings in a table
This example demonstrates how to display table headers.
Empty cells
This example demonstrates how to use " " to handle cells that have no content.
Table with a caption
27. This example demonstrates a table with a caption.
Table cells that span more than one row/column
This example demonstrates how to define table cells that span more than one row or
one column.
Tags inside a table
This example demonstrates how to display elements inside other elements.
Cell padding
This example demonstrates how to use cellpadding to create more white space be-
tween the cell content and its borders.
Cell spacing
This example demonstrates how to use cellspacing to increase the distance between
the cells.
Add a background color or a background image to a table
This example demonstrates how to add a background to a table.
Add a background color or a background image to a table cell
This example demonstrates how to add a background to one or more table cells.
Align the content in a table cell
This example demonstrates how to use the "align" attribute to align the content of
cells, to create a "nice-looking" table.
The frame attribute
This example demonstrates how to use the "frame" attribute to control the borders
around the table.
The frame and border attributes
How to use the "frame" and "border" attributes to control the borders around the ta-
ble.
Table Tags
Tag
Description
<table>
Defines a table
<th>
Defines a table header
<tr>
Defines a table row
<td>
Defines a table cell
28. <caption>
Defines a table caption
<colgroup>
Defines groups of table columns
<col>
Defines the attribute values for one or more columns in a table
<thead>
Defines a table head
<tbody>
Defines a table body
<tfoot>
Defines a table footer
HTML Lists
HTML supports ordered, unordered and definition lists.
HTML Lists
• This is the first
• This is the second
• This is the third
Try-It-Yourself Examples
Unordered list
Ordered list
(You can find more examples at the bottom of this page)
Unordered Lists
An unordered list is a list of items. The list items are marked with bullets (typically
small black circles).
An unordered list starts with the <ul> tag. Each list item starts with the <li> tag.
29. <ul>
<li>Coffee</li>
<li>Milk</li>
</ul>
Here is how it looks in a browser:
• Coffee
• Milk
Inside a list item you can put paragraphs, line breaks, images, links, other lists, etc.
Ordered Lists
An ordered list is also a list of items. The list items are marked with numbers.
An ordered list starts with the <ol> tag. Each list item starts with the <li> tag.
<ol>
<li>Coffee</li>
<li>Milk</li>
</ol>
Here is how it looks in a browser:
1. Coffee
2. Milk
Inside a list item you can put paragraphs, line breaks, images, links, other lists, etc.
Definition Lists
A definition list is not a list of single items. It is a list of items (terms), with a descrip-
tion of each item (term).
A definition list starts with a <dl> tag (definition list).
Each term starts with a <dt> tag (definition term).
Each description starts with a <dd> tag (definition description).
<dl>
<dt>Coffee</dt>
<dd>Black hot drink</dd>
<dt>Milk</dt>
<dd>White cold drink</dd>
</dl>
Here is how it looks in a browser:
Coffee
Black hot drink
Milk
White cold drink
Inside the <dd> tag you can put paragraphs, line breaks, images, links, other lists,
etc.
30. More Examples
Different types of ordered lists
Demonstrates different types of ordered lists.
Different types of unordered Lists
Demonstrates different types of unordered lists.
Nested list
Demonstrates how you can nest lists.
Nested list 2
Demonstrates a more complicated nested list.
Definition list
Demonstrates a definition list.
List Tags
Tag
Description
<ol>
Defines an ordered list
<ul>
Defines an unordered list
<li>
Defines a list item
<dl>
Defines a definition list
<dt>
Defines a term (an item) in a definition list
<dd>
Defines a description of a term in a definition list
<dir>
Deprecated. Use <ul> instead
<menu>
Deprecated. Use <ul> instead
31. HTML Forms and Input
HTML Forms are used to select different kinds of user input.
Try-It-Yourself Examples
Text fields
This example demonstrates how to create text fields on an HTML page. A user can
write text in a text field.
Password fields
This example demonstrates how to create a password field on an HTML page.
(You can find more examples at the bottom of this page)
Forms
A form is an area that can contain form elements.
Form elements are elements that allow the user to enter information (like text fields,
textarea fields, drop-down menus, radio buttons, checkboxes, etc.) in a form.
A form is defined with the <form> tag.
<form>
.
input elements
.
</form>
Input
The most used form tag is the <input> tag. The type of input is specified with the
type attribute. The most commonly used input types are explained below.
Text Fields
Text fields are used when you want the user to type letters, numbers, etc. in a form.
<form>
First name:
32. <input type="text" name="firstname" />
<br />
Last name:
<input type="text" name="lastname" />
</form>
How it looks in a browser:
First name:
Last name:
Note that the form itself is not visible. Also note that in most browsers, the width of
the text field is 20 characters by default.
Radio Buttons
Radio Buttons are used when you want the user to select one of a limited number of
choices.
<form>
<input type="radio" name="sex" value="male" /> Male
<br />
<input type="radio" name="sex" value="female" /> Female
</form>
How it looks in a browser:
Male
Female
Note that only one option can be chosen.
Checkboxes
Checkboxes are used when you want the user to select one or more options of a limit-
ed number of choices.
<form>
I have a bike:
<input type="checkbox" name="vehicle" value="Bike" />
<br />
I have a car:
<input type="checkbox" name="vehicle" value="Car" />
<br />
I have an airplane:
<input type="checkbox" name="vehicle" value="Airplane" />
</form>
How it looks in a browser:
I have a bike:
I have a car:
I have an airplane:
The Form's Action Attribute and the Submit Button
When the user clicks on the "Submit" button, the content of the form is sent to the
server. The form's action attribute defines the name of the file to send the content to.
The file defined in the action attribute usually does something with the received input.
33. <form name="input" action="html_form_submit.asp" method="get">
Username:
<input type="text" name="user" />
<input type="submit" value="Submit" />
</form>
How it looks in a browser:
Username:
If you type some characters in the text field above, and click the "Submit" button, the
browser will send your input to a page called "html_form_submit.asp". The page will
show you the received input.
More Examples
Checkboxes
This example demonstrates how to create check-boxes on an HTML page. A user can
select or unselect a checkbox.
Radio buttons
This example demonstrates how to create radio-buttons on an HTML page.
Simple drop down box
This example demonstrates how to create a simple drop-down box on an HTML page.
A drop-down box is a selectable list.
Another drop down box
This example demonstrates how to create a simple drop-down box with a pre-selected
value.
Textarea
This example demonstrates how to create a text-area (a multi-line text input control).
A user can write text in the text-area. In a text-area you can write an unlimited num-
ber of characters.
Create a button
This example demonstrates how to create a button. On the button you can define your
own text.
Fieldset around data
This example demonstrates how to draw a border with a caption around your data.
34. Form Examples
Form with input fields and a submit button
This example demonstrates how to add a form to a page. The form contains two input
fields and a submit button.
Form with checkboxes
This form contains three checkboxes, and a submit button.
Form with radio buttons
This form contains two radio buttons, and a submit button.
Send e-mail from a form
This example demonstrates how to send e-mail from a form.
Form Tags
Tag
Description
<form>
Defines a form for user input
<input>
Defines an input field
<textarea>
Defines a text-area (a multi-line text input control)
<label>
Defines a label to a control
<fieldset>
Defines a fieldset
<legend>
Defines a caption for a fieldset
<select>
Defines a selectable list (a drop-down box)
<optgroup>
Defines an option group
<option>
Defines an option in the drop-down box
<button>
Defines a push button
<isindex>
Deprecated. Use <input> instead
35. HTML Colors
Colors are displayed combining RED, GREEN, and BLUE light.
Color Values
HTML colors are defined using a hexadecimal (hex) notation for the combination of
Red, Green, and Blue color values (RGB).
The lowest value that can be given to one of the light sources is 0 (hex 00). The high-
est value is 255 (hex FF).
Hex values are written as 3 double digit numbers, starting with a # sign.
Color Values
Color
Color HEX
Color RGB
#000000
rgb(0,0,0)
#FF0000
rgb(255,0,0)
#00FF00
rgb(0,255,0)
#0000FF
rgb(0,0,255)
#FFFF00
rgb(255,255,0)
#00FFFF
rgb(0,255,255)
#FF00FF
rgb(255,0,255)
#C0C0C0
rgb(192,192,192)
#FFFFFF
rgb(255,255,255)
36. 16 Million Different Colors
The combination of Red, Green and Blue values from 0 to 255 gives a total of more
than 16 million different colors to play with (256 x 256 x 256).
Most modern monitors are capable of displaying at least 16384 different colors.
If you look at the color table below, you will see the result of varying the red light
from 0 to 255, while keeping the green and blue light at zero.
To see a full list of color mixes when the red light varies from 0 to 255, click on one of
the hex or rgb values below.
Red Light
Color HEX
Color RGB
#000000
rgb(0,0,0)
#080000
rgb(8,0,0)
#100000
rgb(16,0,0)
#180000
rgb(24,0,0)
#200000
rgb(32,0,0)
#280000
rgb(40,0,0)
#300000
rgb(48,0,0)
#380000
rgb(56,0,0)
#400000
rgb(64,0,0)
#480000
rgb(72,0,0)
#500000
rgb(80,0,0)
#580000
rgb(88,0,0)
#600000
rgb(96,0,0)
38. #F80000
rgb(248,0,0)
#FF0000
rgb(255,0,0)
Shades of Gray
Gray colors are displayed using an equal amount of power to all of the light sources.
To make it easier for you to select the right gray color we have compiled a table of
gray shades for you:
Gray Shades
Color HEX
Color RGB
#000000
rgb(0,0,0)
#080808
rgb(8,8,8)
#101010
rgb(16,16,16)
#181818
rgb(24,24,24)
#202020
rgb(32,32,32)
#282828
rgb(40,40,40)
#303030
rgb(48,48,48)
#383838
rgb(56,56,56)
#404040
rgb(64,64,64)
#484848
rgb(72,72,72)
#505050
rgb(80,80,80)
#585858
rgb(88,88,88)
40. #F0F0F0
rgb(240,240,240)
#F8F8F8
rgb(248,248,248)
#FFFFFF
rgb(255,255,255)
Cross-Browser Color Names
A collection of nearly 150 color names are supported by all major browsers.
View the cross-browser color names
Web Standard Color Names
The World Wide Web Consortium (W3C) has listed 16 valid color names for HTML and
CSS:
aqua, black, blue, fuchsia, gray, green, lime, maroon, navy, olive, purple, red, silver,
teal, white, and yellow.
If you want to use other colors, you should specify their HEX value.
Web Safe Colors?
Some years ago, when computers supported max 256 different colors, a list of 216
"Web Safe Colors" was suggested as a Web standard, reserving 40 fixed system col-
ors.
The 216 cross-browser color palette was created to ensure that all computers would
display the colors correctly when running a 256 color palette.
This is not important now, since most computers can display millions of different col-
ors. Anyway here is the list:
000000
000033
000066
000099
0000CC
0000FF
003300
003333
003366
003399
0033CC
0033FF
006600
44. CCFF33
CCFF66
CCFF99
CCFFCC
CCFFFF
FF0000
FF0033
FF0066
FF0099
FF00CC
FF00FF
FF3300
FF3333
FF3366
FF3399
FF33CC
FF33FF
FF6600
FF6633
FF6666
FF6699
FF66CC
FF66FF
FF9900
FF9933
FF9966
FF9999
FF99CC
FF99FF
FFCC00
FFCC33
FFCC66
FFCC99
FFCCCC
FFCCFF
FFFF00
FFFF33
FFFF66
FFFF99
FFFFCC
FFFFFF
HTML Color Names
Color Names Supported by All Browsers
The list below is a complete list of the color names supported by all major browsers.
45. You can click on a color name (or a hex value) to view the color as the background-
color along with different text colors.
Sorted by Names
Link: Same list sorted by values
Color Name
Color HEX
Color
AliceBlue
#F0F8FF
AntiqueWhite
#FAEBD7
Aqua
#00FFFF
Aquamarine
#7FFFD4
Azure
#F0FFFF
Beige
#F5F5DC
Bisque
#FFE4C4
Black
#000000
BlanchedAlmond
#FFEBCD
Blue
#0000FF
BlueViolet
#8A2BE2
Brown
#A52A2A
BurlyWood
#DEB887
CadetBlue
#5F9EA0
Chartreuse
53. The W3C HTML and CSS standards have listed only 16 valid color names:
aqua, black, blue, fuchsia, gray, green, lime, maroon, navy, olive, purple, red, silver,
teal, white, and yellow.
If you want valid HTML or CSS use the HEX values instead.
HTML Color Values
Color Names Supported by All Browsers
The list below is a complete list of the color names supported by all major browsers.
You can click on a color name (or a hex value) to view the color as the background-
color along with different text colors.
Sorted by HEX Value
Link: Same list sorted by names
Color Name
Color HEX
Color
Black
#000000
Navy
#000080
DarkBlue
#00008B
MediumBlue
#0000CD
Blue
#0000FF
DarkGreen
#006400
Green
#008000
Teal
#008080
61. FloralWhite
#FFFAF0
Snow
#FFFAFA
Yellow
#FFFF00
LightYellow
#FFFFE0
Ivory
#FFFFF0
White
#FFFFFF
Note: The names above are not a part of the W3C web standard.
The W3C HTML and CSS standards have listed only 16 valid color names:
aqua, black, blue, fuchsia, gray, green, lime, maroon, navy, olive, purple, red, silver,
teal, white, and yellow.
If you want valid HTML or CSS use the HEX values instead.
HTML 4.01 Quick List
HTML Quick List from W3Schools. Print it, fold it, and put it in your pock-
et.
HTML Basic Document
<html>
<head>
<title>Document name goes here</title>
</head>
<body>
Visible text goes here
</body>
62. </html>
Heading Elements
<h1>Largest Heading</h1>
<h2> . . . </h2>
<h3> . . . </h3>
<h4> . . . </h4>
<h5> . . . </h5>
<h6>Smallest Heading</h6>
Text Elements
<p>This is a paragraph</p>
<br> (line break)
<hr> (horizontal rule)
<pre>This text is preformatted</pre>
Logical Styles
<em>This text is emphasized</em>
<strong>This text is strong</strong>
<code>This is some computer code</code>
Physical Styles
<b>This text is bold</b>
<i>This text is italic</i>
Links, Anchors, and Image Elements
<a href="http://www.example.com/">This is a Link</a>
<a href="http://www.example.com/"><img src="URL" alt="Alternate Text"></a>
<a href="mailto:webmaster@example.com">Send e-mail</a>
A named anchor:
<a name="tips">Useful Tips Section</a>
<a href="#tips">Jump to the Useful Tips Section</a>
Unordered list
<ul>
<li>First item</li>
<li>Next item</li>
</ul>
Ordered list
<ol>
<li>First item</li>
<li>Next item</li>
</ol>
Definition list
<dl>
<dt>First term</dt>
<dd>Definition</dd>
<dt>Next term</dt>
<dd>Definition</dd>
</dl>
Tables
<table border="1">
<tr>
<th>someheader</th>
64. <address>
Address 1<br>
Address 2<br>
City<br>
</address>
Source : http://www.w3schools.com/html/html_quick.asp
ADVANCED
HTML Layout
Everywhere on the Web you will find pages that are formatted like news-
paper pages using HTML columns.
HTML Layout - Using Tables
One very common practice with HTML, is to use HTML tables to format the layout of
an HTML page.
A part of this page is formatted with two columns, like a newspaper page.
As you can see on this page, there is a left column and a right column.
This text is displayed in the left column.
An HTML <table> is used to divide a part of this Web page into two columns.
The trick is to use a table without borders, and maybe a little extra cell-padding.
No matter how much text you add to this page, it will stay inside its column borders.
Same Layout - Color Added
One very common practice with HTML, is to use HTML tables to format the layout of
an HTML page.
A part of this page is formatted with two columns, like a newspaper page.
As you can see at this page, there is a left column and a right column.
An HTML <table> is used to divide a part of this Web page into two columns.
This text is displayed in the right column.
The trick is to use a table without borders, and maybe a little extra cell-padding.
No matter how much text you add to this page, it will stay inside its column borders.
Examples
65. Dividing a part of an HTML page into table columns is very easy to do. To let you ex-
periment with it, we have put together this simple example.
HTML Joke
Student: "How do you spell HTML?"
HTML Frames
With frames, you can display more than one Web page in the same
browser window.
Examples
Vertical frameset
This example demonstrates how to make a vertical frameset with three different docu-
ments.
Horizontal frameset
This example demonstrates how to make a horizontal frameset with three different
documents.
(You can find more examples at the bottom of this page)
Frames
With frames, you can display more than one HTML document in the same browser
window. Each HTML document is called a frame, and each frame is independent of the
others.
The disadvantages of using frames are:
• The web developer must keep track of more HTML documents
• It is difficult to print the entire page
The Frameset Tag
• The <frameset> tag defines how to divide the window into frames
• Each frameset defines a set of rows or columns
• The values of the rows/columns indicate the amount of screen area each
row/column will occupy
66. The Frame Tag
• The <frame> tag defines what HTML document to put into each frame
In the example below we have a frameset with two columns. The first column is set to
25% of the width of the browser window. The second column is set to 75% of the
width of the browser window. The HTML document "frame_a.htm" is put into the first
column, and the HTML document "frame_b.htm" is put into the second column:
<frameset cols="25%,75%">
<frame src="frame_a.htm">
<frame src="frame_b.htm">
</frameset>
Note: The frameset column size value can also be set in pixels (cols="200,500"), and
one of the columns can be set to use the remaining space (cols="25%,*").
Basic Notes - Useful Tips
If a frame has visible borders, the user can resize it by dragging the border. To pre-
vent a user from doing this, you can add noresize="noresize" to the <frame> tag.
Add the <noframes> tag for browsers that do not support frames.
Important: You cannot use the <body></body> tags together with the
<frameset></frameset> tags! However, if you add a <noframes> tag containing
some text for browsers that do not support frames, you will have to enclose the text
in <body></body> tags! See how it is done in the first example below.
More Examples
How to use the <noframes> tag
This example demonstrates how to use the <noframes> tag.
Mixed frameset
This example demonstrates how to make a frameset with three documents, and how
to mix them in rows and columns.
Frameset with noresize="noresize"
This example demonstrates the noresize attribute. The frames are not resizable. Move
the mouse over the borders between the frames and notice that you can not move the
borders.
Navigation frame
This example demonstrates how to make a navigation frame. The navigation frame
contains a list of links with the second frame as the target. The file called
"tryhtml_contents.htm" contains three links. The source code of the links:
<a href ="frame_a.htm" target ="showframe">Frame a</a><br>
<a href ="frame_b.htm" target ="showframe">Frame b</a><br>
67. <a href ="frame_c.htm" target ="showframe">Frame c</a>
The second frame will show the linked document.
Inline frame
This example demonstrates how to create an inline frame (a frame inside an HTML
page).
Jump to a specified section within a frame
This example demonstrates two frames. One of the frames has a source to a specified
section in a file. The specified section is made with <a name="C10"> in the "link.htm"
file.
Jump to a specified section with frame navigation
This example demonstrates two frames. The navigation frame (content.htm) to the
left contains a list of links with the second frame (link.htm) as a target. The second
frame shows the linked document. One of the links in the navigation frame is linked to
a specified section in the target file. The HTML code in the file "content.htm" looks like
this: <a href ="link.htm" target ="showframe">Link without Anchor</a><br><a href
="link.htm#C10" target ="showframe">Link with Anchor</a>.
Frame Tags
Tag
Description
<frameset>
Defines a set of frames
<frame>
Defines a sub window (a frame)
<noframes>
Defines a noframe section for browsers that do not handle frames
<iframe>
Defines an inline sub window (frame)
HTML Fonts
The <font> tag in HTML is deprecated. It is supposed to be removed in a
future version of HTML.
Even if a lot of people are using it, you should try to avoid it, and use
styles instead.
The HTML <font> Tag
68. With HTML code like this, you can specify both the size and the type of the browser
output :
Example
<p>
<font size="2" face="Verdana">
This is a paragraph.
</font>
</p>
<p>
<font size="3" face="Times">
This is another paragraph.
</font>
</p>
Font Attributes
Attribute
Example
Purpose
size="number"
size="2"
Defines the font size
size="+number"
size="+1"
Increases the font size
size="-number"
size="-1"
Decreases the font size
face="face-name"
face="Times"
Defines the font-name
color="color-value"
color="#eeff00"
Defines the font color
color="color-name"
color="red"
Defines the font color
The <font> Tag Should NOT be Used
The <font> tag is deprecated in the latest versions of HTML (HTML 4 and XHTML).
The World Wide Web Consortium (W3C) has removed the <font> tag from its recom-
mendations. In future versions of HTML, style sheets (CSS) will be used to define the
layout and display properties of HTML elements.
69. The Right Way to Do It - With Styles
Set the font of text
This example demonstrates how to set the font of a text.
Set the font size of text
This example demonstrates how to set the font size of a text.
Set the font color of text
This example demonstrates how to set the color of a text.
Set the font, font size, and font color of text
This example demonstrates how to set the font, font size, and font color of a text.
Where to Learn More About Style Sheets?
First off: Finish the last chapters in our HTML tutorial !!! In the following chapters we
will explain why some tags, like <font>, are to be removed from the HTML recom-
mendations, and how to insert a style sheet in an HTML document.
To learn more about style sheets: Study our CSS Tutorial.
Why use HTML 4.0?
HTML 3.2 Was Very Wrong !
The original HTML was never intended to contain tags for formatting a document. HTML
tags were intended to define the content of the document like:
<p>This is a paragraph</p>
<h1>This is a heading</h1>
When tags like <font> and color attributes were added to the HTML 3.2 specification,
it started a nightmare for web developers. Development of large web sites where fonts
and color information had to be added to every single Web page, became a long, ex-
pensive and unduly painful process.
What is so Great About HTML 4.0 ?
In HTML 4.0 all formatting can be removed from the HTML document and stored in a sep-
arate style sheet.
70. Because HTML 4.0 separates the presentation from the document structure, we have
what we always needed: Total control of presentation layout without messing up the
document content.
What Should You do About it ?
Do not use presentation attributes inside your HTML tags if you can avoid it. Start us-
ing styles! Please read our CSS tutorial to learn about style sheets.
Do not use deprecated tags. Visit our complete HTML 4.01 Reference to see which
tags and attributes that are deprecated.
Prepare Yourself for XHTML
XHTML is the "new" HTML. The most important thing you can do is to start writing
valid HTML 4.01. Also start writing your tags in lower case. Always close your tag ele-
ments. Never end a paragraph without </p>.
NOTE: The official HTML 4.01 recommends the use of lower case tags.
If you want to read about how this web site was converted to XHTML, please visit our
XHTML tutorial.
Validate Your HTML Files as HTML 4.01
An HTML document is validated against a Document Type Definition (DTD). Before an
HTML file can be properly validated, a correct DTD must be added as the first line of
the file.
The HTML 4.01 Strict DTD includes elements and attributes that have not been depre-
cated or do not appear in framesets:
<!DOCTYPE HTML PUBLIC
"-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
The HTML 4.01 Transitional DTD includes everything in the strict DTD plus deprecated
elements and attributes:
<!DOCTYPE HTML PUBLIC
"-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
The HTML 4.01 Frameset DTD includes everything in the transitional DTD plus frames
as well:
<!DOCTYPE HTML PUBLIC
"-//W3C//DTD HTML 4.01 Frameset//EN"
"http://www.w3.org/TR/html4/frameset.dtd">
71. HTML Styles
With HTML 4.0 all formatting can be moved out of the HTML document
and into a separate style sheet.
Examples
Styles in HTML
This example demonstrates how to format an HTML document with style information
added to the <head> section.
Link that is not underlined
This example demonstrates how to make a link that is not underlined, using a style
attribute.
Link to an external style sheet
This example demonstrates how to use the <link> tag to link to an external style
sheet.
How to Use Styles
When a browser reads a style sheet, it will format the document according to it. There
are three ways of inserting a style sheet:
External Style Sheet
An external style sheet is ideal when the style is applied to many pages. With an ex-
ternal style sheet, you can change the look of an entire Web site by changing one file.
Each page must link to the style sheet using the <link> tag. The <link> tag goes in-
side the head section.
<head>
<link rel="stylesheet" type="text/css" href="mystyle.css">
</head>
Internal Style Sheet
An internal style sheet should be used when a single document has a unique style.
You define internal styles in the head section with the <style> tag.
<head>
<style type="text/css">
body {background-color: red}
p {margin-left: 20px}
</style>
</head>
72. Inline Styles
An inline style should be used when a unique style is to be applied to a single occur-
rence of an element.
To use inline styles you use the style attribute in the relevant tag. The style attribute
can contain any CSS property. The example shows how to change the color and the
left margin of a paragraph:
<p style="color: red; margin-left: 20px">
This is a paragraph
</p>
To learn more about styles, visit our CSS tutorial.
Style Tags
Tag
Description
<style>
Defines a style definition
<link>
Defines a resource reference
<div>
Defines a section in a document
<span>
Defines a section in a document
<font>
Deprecated. Use styles instead
<basefont>
Deprecated. Use styles instead
<center>
Deprecated. Use styles instead
HTML Character Entities
Reserved characters in HTML must be replaced with character entities.
Character Entities
Some characters are reserved in HTML. For example, you cannot use the greater than
or less than signs within your text because the browser could mistake them for
markup.
If we want the browser to actually display these characters we must insert character
entities in the HTML source.
A character entity looks like this: &entity_name; OR &#entity_number;
73. To display a less than sign we must write: < or <
The advantage of using an entity name instead of a number is that the name often is
easier to remember. However, the disadvantage is that browsers may not support all
entity names (while the support for entity numbers is very good).
Non-breaking Space
The most common character entity in HTML is the non-breaking space.
Normally HTML will truncate spaces in your text. If you write 10 spaces in your text
HTML will remove 9 of them. To add lots of spaces to your text, use the char-
acter entity.
Try It Yourself
This example lets you experiment with character entities: Try it yourself
Commonly Used Character Entities
Note Entity names are case sensitive!
Result
Description
Entity Name
Entity Number
non-breaking space
 
<
less than
<
<
>
greater than
>
>
&
ampersand
&
&
¢
cent
¢
¢
£
pound
£
£
75. According to the HTML standard, only a few tags are legal inside the head section.
These are: <base>, <link>, <meta>, <title>, <style>, and <script>.
Look at the following illegal construct:
<head>
<p>This is some text</p>
</head>
In this case the browser has two options:
• Display the text because it is inside a paragraph element
• Hide the text because it is inside a head element
If you put an HTML element like <h1> or <p> inside a head element like this, most
browsers will display it, even if it is illegal.
Should browsers forgive you for errors like this? We don't think so. Others do.
Head Tags
Tag
Description
<head>
Defines information about the document
<title>
Defines the document title
<base>
Defines a base URL for all the links on a page
<link>
Defines a resource reference
<meta>
Defines meta information
Tag
Description
<!DOCTYPE>
Defines the document type. This tag goes before the <html> start tag.
HTML Meta
Examples
Document description
Information inside a meta element describes the document.
Document keywords
76. Information inside a meta element describes the document's keywords.
Redirect a user
This example demonstrates how to redirect a user if your site address has changed.
The Meta Element
As we explained in the previous chapter, the head element contains general informa-
tion (meta-information) about a document.
HTML also includes a meta element that goes inside the head element. The purpose of
the meta element is to provide meta-information about the document.
Most often the meta element is used to provide information that is relevant to
browsers or search engines like describing the content of your document.
Note: W3C states that "Some user agents support the use of META to refresh the current page
after a specified number of seconds, with the option of replacing it by a different URI. Authors
should not use this technique to forward users to different pages, as this makes the page inacces-
sible to some users. Instead, automatic page forwarding should be done using server-side redi-
rects" at http://www.w3.org/TR/html4/struct/global.html#adef-http-equiv.
Keywords for Search Engines
Some search engines on the WWW will use the name and content attributes of the
meta tag to index your pages.
This meta element defines a description of your page:
<meta name="description" content="Free Web tutorials on HTML, CSS,
XML, and XHTML" />
This meta element defines keywords for your page:
<meta name="keywords" content="HTML, DHTML, CSS, XML, XHTML,
JavaScript" />
The intention of the name and content attributes is to describe the content of a page.
However, since too many webmasters have used meta tags for spamming, like repeat-
ing keywords to give pages a higher ranking, some search engines have stopped using
them entirely.
You can read more about search engines in our Web Building Tutorial.
Unknown Meta Attributes
Sometimes you will see meta attributes that are unknown to you like this:
<meta name="security" content="low" />
Then you just have to accept that this is something unique to the site or to the author
of the site, and that it has probably no relevance to you.
77. You can see a complete list of the meta element attributes in our
Complete HTML 4.01 Tag Reference.
HTML Uniform Resource Locators
HTML Links
When you click on a link in an HTML document like this: Last Page, an underlying <a>
tag points to a place (an address) on the Web with an href attribute value like this: <a
href="lastpage.htm">Last Page</a>.
The Last Page link in the example is a link that is relative to the Web site that you are
browsing, and your browser will construct a full Web address like
http://www.w3schools.com/html/lastpage.htm to access the page.
URL - Uniform Resource Locator
Something called a Uniform Resource Locator (URL) is used to address a document
(or other data) on the World Wide Web. A full Web address like this:
http://www.w3schools.com/html/lastpage.htm follows these syntax rules:
scheme://host.domain:port/path/filename
The scheme is defining the type of Internet service. The most common type is http.
The domain is defining the Internet domain name like w3schools.com.
The host is defining the domain host. If omitted, the default host for http is www.
The :port is defining the port number at the host. The port number is normally omitted.
The default port number for http is 80.
The path is defining a path (a sub directory) at the server. If the path is omitted, the
resource (the document) must be located at the root directory of the Web site.
The filename is defining the name of a document. The default filename might be de-
fault.asp, or index.html or something else depending on the settings of the Web serv-
er.
URL Schemes
Some examples of the most common schemes can be found below:
Schemes
Access
file
a file on your local PC
ftp
a file on an FTP server
http
a file on a World Wide Web Server
78. gopher
a file on a Gopher server
news
a Usenet newsgroup
telnet
a Telnet connection
WAIS
a file on a WAIS server
Accessing a Newsgroup
The following HTML code:
<a href="news:alt.html">HTML Newsgroup</a>
creates a link to a newsgroup like this HTML Newsgroup.
Downloading with FTP
The following HTML code:
<a href="ftp://www.w3schools.com/ftp/winzip.exe">Download WinZip</a>
creates a link to download a file like this: Download WinZip.
(The link doesn't work. Don't try it. It is just an example. W3Schools doesn't really
have an ftp directory.)
Link to your Mail system
The following HTML code:
<a href="mailto:someone@w3schools.com">someone@w3schools.com</a>
creates a link to your own mail system like this:
someone@w3schools.com
HTML Scripts
Add scripts to HTML pages to make them more dynamic and interactive.
Examples
79. Insert a script
This example demonstrates how to insert a script into your HTML document.
Work with browsers that do not support scripts
This example demonstrates how to handle browsers that do not support scripting.
Insert a Script into HTML Page
A script in HTML is defined with the <script> tag. Note that you will have to use the
type attribute to specify the scripting language.
<html>
<body>
<script type="text/javascript">
document.write("Hello World!")
</script>
</body>
</html>
The script above will produce this output:
Hello World!
Note: To learn more about scripting in HTML, visit our JavaScript School.
How to Handle Older Browsers
A browser that does not recognize the <script> tag at all, will display the <script>
tag's content as text on the page. To prevent the browser from doing this, you should
hide the script in comment tags. An old browser (that does not recognize the <script>
tag) will ignore the comment and it will not write the tag's content on the page, while
a new browser will understand that the script should be executed, even if it is sur-
rounded by comment tags.
Example
JavaScript:
<script type="text/javascript">
<!--
document.write("Hello World!")
//-->
</script>
VBScript:
<script type="text/vbscript">
<!--
document.write("Hello World!")
80. '-->
</script>
The <noscript> Tag
In addition to hiding the script inside a comment, you can also add a <noscript> tag.
The <noscript> tag is used to define an alternate text if a script is NOT executed. This
tag is used for browsers that recognize the <script> tag, but do not support the script
inside, so these browsers will display the text inside the <noscript> tag instead. How-
ever, if a browser supports the script inside the <script> tag it will ignore the <no-
script> tag.
Example
JavaScript:
<script type="text/javascript">
<!--
document.write("Hello World!")
//-->
</script>
<noscript>Your browser does not support JavaScript!</noscript>
VBScript:
<script type="text/vbscript">
<!--
document.write("Hello World!")
'-->
</script>
<noscript>Your browser does not support VBScript!</noscript>
Script Tags
Tag
Description
<script>
Defines a script
<noscript>
Defines an alternate text if the script is not executed
<object>
Defines an embedded object
<param>
Defines run-time settings (parameters) for an object
81. <applet>
Deprecated. Use <object> instead
HTML 4.0 Standard Attributes
HTML tags can have attributes. The special attributes for each tag are listed under
each tag description. The attributes listed here are the core and language attributes
that are standard for all tags (with a few exceptions):
Core Attributes
Not valid in base, head, html, meta, param, script, style, and title elements.
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
Language Attributes
Not valid in base, br, frame, frameset, hr, iframe, param, and script elements.
Attribute
Value
Description
dir
ltr | rtl
Sets the text direction
lang
language_code
Sets the language code
Keyboard Attributes
82. Attribute
Value
Description
accesskey
character
Sets a keyboard shortcut to access an element
tabindex
number
Sets the tab order of an element
HTML 4.0 Event Attributes
New to HTML 4.0 is the ability to let HTML events trigger actions in the browser, like
starting a JavaScript when a user clicks on an HTML element. Below is a list of at-
tributes that can be inserted into HTML tags to define event actions.
If you want to learn more about programming with these events, you should study
our JavaScript tutorial and our DHTML tutorial.
Window Events
Only valid in body and frameset elements.
Attribute
Value
Description
onload
script
Script to be run when a document loads
onunload
script
Script to be run when a document unloads
Form Element Events
Only valid in form elements.
Attribute
Value
Description
onchange
script
Script to be run when the element changes
onsubmit
script
Script to be run when the form is submitted
onreset
83. script
Script to be run when the form is reset
onselect
script
Script to be run when the element is selected
onblur
script
Script to be run when the element loses focus
onfocus
script
Script to be run when the element gets focus
Keyboard Events
Not valid in base, bdo, br, frame, frameset, head, html, iframe, meta, param, script,
style, and title elements.
Attribute
Value
Description
onkeydown
script
What to do when key is pressed
onkeypress
script
What to do when key is pressed and released
onkeyup
script
What to do when key is released
Mouse Events
Not valid in base, bdo, br, frame, frameset, head, html, iframe, meta, param, script,
style, title elements.
Attribute
Value
Description
onclick
script
What to do on a mouse click
ondblclick
script
What to do on a mouse double-click
onmousedown
script
What to do when mouse button is pressed
onmousemove
script
What to do when mouse pointer moves
onmouseout
84. script
What to do when mouse pointer moves out of an element
onmouseover
script
What to do when mouse pointer moves over an element
onmouseup
script
What to do when mouse button is released
HTML URL Encoding
URL encoding converts characters into a format that can be safely trans-
mitted over the Internet.
URL - Uniform Resource Locator
Web browsers request pages from web servers by using a URL.
The URL is the address of a web page like: http://www.w3schools.com.
URL Encoding
URLs can only be sent over the Internet using the ASCII character-set.
Since URLs often contains characters outside the ASCII set, the URL has to be con-
verted. URL encoding converts the URL into a valid ASCII format.
URL encoding replaces unsafe ASCII characters with "%" followed by two hexadecimal
digits corresponding to the character values in the ISO-8859-1 character-set.
URLs cannot contain spaces. URL encoding normally replaces a space with a + sign.
Try It Yourself
If you click the "Submit" button below, the browser will URL encode the input before it
is sent to the server. A page at the server will display the received input.
Try some other input and click Submit again.
URL Encoding Examples
Character
URL-encoding
86. PWS is for older Windows system like Windows 95, 98, and NT.
PWS is easy to install and can be used for developing and testing web applications in-
cluding ASP.
We don't recommend running PWS for anything else than training. It is outdated and
has security issues.
Windows Web Server Versions
• Windows Vista Business, Enterprise and Ultimate come with IIS 7
• Windows Vista Home Premium comes with IIS 7
• Windows Vista Home Edition does not support PWS or IIS
• Windows XP Professional comes with IIS 5.1
• Windows XP Home Edition does not support IIS or PWS
• Windows 2000 Professional comes with IIS 5.0
• Windows NT Professional comes with IIS 3 and also supports IIS 4
• Windows NT Workstation supports PWS and IIS 3
• Windows ME does not support PWS or IIS
• Windows 98 comes with PWS
• Windows 95 supports PWS
How to Install IIS on Windows Vista
Follow these steps to install IIS on Windows Vista:
1. Open the Control Panel from the Start menu
2. Double-click Programs and Features
3. Click "Turn Windows features on or off" (a link to the left)
4. Select the check box for Internet Information Services (IIS), and click OK
After you have installed IIS, make sure you install all patches for bugs and security
problems. (Run Windows Update).
How to Install IIS on Windows XP and Windows
2000
Follow these steps to install IIS on Windows XP, and Windows 2000:
1. On the Start menu, click Settings and select Control Panel
2. Double-click Add or Remove Programs
3. Click Add/Remove Windows Components
4. Click Internet Information Services (IIS)
5. Click Details
6. Select the check box for World Wide Web Service, and click OK
7. In Windows Component selection, click Next to install IIS
After you have installed IIS, make sure you install all patches for bugs and security
problems. (Run Windows Update).
87. Test Your Web
After you have installed IIS or PWS follow these steps:
1. Look for a new folder called Inetpub on your hard drive
2. Open the Inetpub folder, and find a folder named wwwroot
3. Create a new folder, like "MyWeb", under wwwroot
4. Write some ASP code and save the file as "test1.asp" in the new folder
5. Make sure your Web server is running (see below)
6. Open your browser and type "http://localhost/MyWeb/test1.asp", to view
your first web page
Note: Look for the IIS (or PWS) symbol in your start menu or task bar. The program
has functions for starting and stopping the web server, disable and enable ASP, and
much more.
How to install PWS on Windows 95, 98, and Win-
dows NT
For Windows 98: Open the Add-ons folder on your Windows CD, find the PWS folder
and run setup.exe to install PWS.
For Windows 95 or Windows NT: Download "Windows NT 4.0 Option Pack" from Mi-
crosoft, and install PWS.
Test your web as described above.
Your Next Step: A Professional Web Server
• If you do not want to use PWS or IIS, you must upload your files to a
public server.
• Most Internet Service Providers (ISP's) will offer to host your web pages.
• If your employer has an Internet Server, you can ask him to host your
Web site.
• If you are really serious about this, you should install your own Internet
Server.
Before you select an ISP, make sure you read W3Schools Web Hosting Tutorial !!
You Have Learned HTML, Now What?
HTML Summary
This tutorial has taught you how to use HTML to create your own web site.
88. HTML is the universal markup language for the Web. HTML lets you format text, add
graphics, create links, input forms, frames and tables, etc., and save it all in a text file
that any browser can read and display.
The key to HTML is the tags, which indicates what content is coming up.
For more information on HTML, please take a look at our HTML examples and our
HTML reference.
Now You Know HTML, What's Next?
The next step is to learn XHTML and CSS.
XHTML
XHTML reformulates HTML 4.01 in XML.
If you want to learn more about XHTML, please visit our XHTML tutorial.
CSS
CSS is used to control the style and layout of multiple Web pages all at once.
With CSS, all formatting can be removed from the HTML document and stored in a
separate file.
CSS gives you total control of the layout, without messing up the document content.
To learn how to create style sheets, please visit our CSS tutorial.
W3Schools' Online Certification Program
The perfect solution for professionals who need to balance work, family, and career
building.
More than 3500 certificates already issued!
The HTML Certificate documents your knowledge of HTML, XHTML, and CSS.
The JavaScript Certificate documents your knowledge of JavaScript and HTML DOM.
The XML Certificate documents your knowledge of XML, XML DOM and XSLT.
The ASP Certificate documents your knowledge of ASP, SQL, and ADO.
The PHP Certificate documents your knowledge of PHP and SQL (MySQL).
89. HTML Examples
HTML Basic Tags Examples
A very simple HTML document
How text inside paragraphs is displayed
More paragraphs
The use of line breaks
Poem problems (some problems with HTML formatting)
Heading tags
Center aligned heading
Insert a horizontal rule
Comments in the HTML source
Add a background color
Examples explained
HTML Formatting Text Examples
Text formatting
Preformatted text (how to control line breaks and spaces)
Different computer-output tags
Insert an address
Abbreviations and acronyms
Text direction
Long and short quotations
How to mark deleted and inserted text
Examples explained
HTML Link Examples
How to create hyperlinks
Set an image as a link
90. Open a link in a new browser window
Jump to another part of a document (on the same page)
Break out of a frame
How to link to a mail message (will only work if you have mail installed)
A more complicated mailto link
Examples explained
HTML Frame Examples
How to create a vertical frameset with 3 different documents
How to create a horizontal frameset with 3 different documents
How to use the <noframes> tag
How to mix a frameset in rows and columns
Frameset with noresize="noresize"
How to create a navigation frame
Inline frame (a frame inside an HTML page)
Jump to a specified section within a frame
Jump to a specified section with frame navigation
Examples explained
HTML Table Examples
Simple tables
Different table borders
Table with no borders
Headings in a table
Empty cells
Table with a caption
Table cells that span more than one row/column
Tags inside a table
Cell padding (control the white space between cell content and the borders
Cell spacing (control the distance between cells)
91. Add a background color or a background image to a table
Add a background color or a background image to a table cell
Align the content in a table cell
The frame attribute
The frame and border attributes
Examples explained
HTML List Examples
An unordered list
An ordered list
Different types of ordered lists
Different types of unordered Lists
Nested list
Nested list 2
Definition list
Examples explained
HTML Form and Input Examples
How to create input fields
Password fields
Checkboxes
Radiobuttons
Simple drop-down box (a selectable list)
Another drop-down box with a pre-selected value
Textarea (a multi-line text input field)
Create a button
Draw a border with a caption around data
Form with an input field and a submit button
Form with checkboxes and a submit button
Form with radiobuttons and a submit button
92. Send e-mail from a form
Examples explained
HTML Image Examples
Insert images
Insert images from another folder or another server
Background image
Align an image within a text
Let the image float to the left/right of a paragraph
Adjust images to different sizes
Display an alternate text for an image (if the browser can't load images)
Make a hyperlink of an image
Create an image-map, with clickable regions
Turn an image into an image map
Examples explained
HTML Background Examples
Good background and text color
Bad background and text color
Good background image
Good background image 2
Bad background image
Examples explained
HTML Style Examples
Styles in the head section of an HTML document
Link that is not underlined
Link to an external style sheet
Examples explained
HTML <head> Examples
93. Set a title of a document
One target for all links on a page
Examples explained
HTML <meta> Examples
Document description
Document keywords
Redirect a user to another URL
Examples explained
HTML Script Examples
Insert a script
Handle browsers that do not support scripts
Examples explained