HTML Tutorial

Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1of 72

Introduction to HTML

What is an HTML File?


• HTML stands for Hyper Text Markup Language
• An HTML file is a text file containing small markup tags
• The markup tags tell the Web browser how to display the page
• An HTML file must have an htm or html file extension
• An HTML file can be created using a simple text editor

Do You Want to Try It?


If you are running Windows, start Notepad.

If you are on a Mac, start SimpleText.

In OSX start TextEdit and change the following preferences: Open the "Format" menu
and select "Plain text" instead of "Rich text". Then open the "Preferences" window under
the "Text Edit" menu and select "Ignore rich text commands in HTML files". Your
HTML code will probably not work if you do not change the preferences above!

Type in the following text:

<html>
<head>
<title>Title of page</title>
</head>
<body>
This is my first homepage. <b>This text is bold</b>
</body>
</html>

Save the file as "mypage.htm".

Start your Internet browser. Select "Open" (or "Open Page") in the File menu of your
browser. A dialog box will appear. Select "Browse" (or "Choose File") and locate the
HTML file you just created - "mypage.htm" - select it and click "Open". Now you should
see an address in the dialog box, for example "C:\MyDocuments\mypage.htm". Click
OK, and the browser will display the page.
Example Explained
The first tag in your HTML document is <html>. This tag tells your browser that this is
the start of an HTML document. The last tag in your document is </html>. This tag tells
your browser that this is the end of the HTML document.

The text between the <head> tag and the </head> tag is header information. Header
information is not displayed in the browser window.

The text between the <title> tags is the title of your document. The title is displayed in
your browser's caption.

The text between the <body> tags is the text that will be displayed in your browser.

The text between the <b> and </b> tags will be displayed in a bold font.

HTM or HTML Extension?


When you save an HTML file, you can use either the .htm or the .html extension. We
have used .htm in our examples. It might be a bad habit inherited from the past when
some of the commonly used software only allowed three letter extensions.

With newer software we think it will be perfectly safe to use .html.

Note on HTML Editors:


You can easily edit HTML files using a WYSIWYG (what you see is what you get)
editor like FrontPage or Dreamweaver, instead of writing your markup tags in a plain text
file.

However, if you want to be a skillful Web developer, we strongly recommend that you
use a plain text editor to learn your primer HTML.

Frequently Asked Questions


Q: After I have edited an HTML file, I cannot view the result in my browser. Why?
A: Make sure that you have saved the file with a proper name and extension like
"c:\mypage.htm". Also make sure that you use the same name when you open the file in
your browser.
Q: I have edited an HTML file, but the changes don't show in the browser. Why?
A: A browser caches pages so it doesn't have to read the same page twice. When you
have modified a page, the browser doesn't know that. Use the browser's refresh/reload
button to force the browser to reload the page.

Q: What browser should I use?


A: You can do all the training with all of the well-known browsers, like Internet
Explorer, Firefox, Netscape, or Opera. However, some of the examples in our advanced
classes require the latest versions of the browsers.

Q: Does my computer have to run Windows? What about a Mac?


A: You can do all your training on a non-Windows computer like a Mac.

HTML Elements

HTML documents are text files made up of HTML elements.

HTML elements are defined using HTML tags.

HTML Tags
• HTML tags are used to mark-up HTML elements
• HTML tags are surrounded by the two characters < and >
• The surrounding characters are called angle brackets
• 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
• The text between the start and end tags is the element content
• HTML tags are not case sensitive, <b> means the same as <B>

HTML Elements
Remember the HTML example from the previous page:

<html>
<head>
<title>Title of page</title>
</head>
<body>
This is my first homepage. <b>This text is bold</b>
</body>
</html>

This is an HTML element:

<b>This text is bold</b>

The HTML element starts with a start tag: <b>


The content of the HTML element is: This text is bold
The HTML element ends with an end tag: </b>

The purpose of the <b> tag is to define an HTML element that should be displayed as
bold.

This is also an HTML element:

<body>
This is my first homepage. <b>This text is bold</b>
</body>

This HTML element starts with the start tag <body>, and ends with the end tag </body>.

The purpose of the <body> tag is to define the HTML element that contains the body of
the HTML document.

Why do We Use Lowercase Tags?


We have just said that HTML tags are not case sensitive: <B> means the same as <b>. If
you surf the Web, you will notice that plenty of web sites use uppercase HTML tags in
their source code. We always use lowercase tags. Why?

If you want to follow the latest web standards, you should always use lowercase tags. The
World Wide Web Consortium (W3C) recommends lowercase tags in their HTML 4
recommendation, and XHTML (the next generation HTML) demands lowercase tags.

Basic HTML Tags

The most important tags in HTML are tags that define headings, paragraphs and line
breaks.
The best way to learn HTML is to work with examples. We have created a very nice
HTML editor for you. With this editor, you can edit the HTML source code if you like,
and click on a test button to view the result.

Try it Yourself - Examples


A very simple HTML document
This example is a very simple HTML document, with only a minimum of HTML tags. It
demonstrates how the text inside a body element is displayed in the browser.

Simple paragraphs
This example demonstrates how the text inside paragraph elements is displayed in the
browser.

(You can find more examples at the bottom of this page)

Headings
Headings are defined with the <h1> to <h6> tags. <h1> defines the largest heading. <h6>
defines the smallest heading.

<h1>This is a heading</h1>
<h2>This is a heading</h2>
<h3>This is a heading</h3>
<h4>This is a heading</h4>
<h5>This is a heading</h5>
<h6>This is a heading</h6>

HTML automatically adds an extra blank line before and after a heading.

Paragraphs
Paragraphs are defined with the <p> tag.

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

HTML automatically adds an extra blank line before and after a paragraph.

Don't Forget the Closing Tag


You might have noticed that paragraphs can be written without end tags </p>:

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

The example above will work in most browsers, but don't rely on it. Future version of
HTML will not allow you to skip ANY end tags.

Closing all HTML elements with an end tag is a future-proof way of writing HTML. It
also makes the code easier to understand (read and browse) when you mark both where
an element starts and where it ends.

Line Breaks
The <br> tag is used when you want to break a line, but don't want to start a new
paragraph. The <br> tag forces a line break wherever you place it.

<p>This <br> is a para<br>graph with line breaks</p>

Try it yourself

The <br> tag is an empty tag. It has no end tag like </br>, since a closing tag doesn't
make any sense.

<br> or <br />


More and more often you will see the <br> tag written like this: <br />

Because the <br> tag has no end tag (or closing tag), it breaks one of the rules for future
HTML (the XML based XHTML), namely that all elements must be closed.

Writing it like <br /> is a future proof way of closing (or ending) the tag inside the
opening tag, accepted by both HTML and XML.

Comments in HTML
The comment tag is used to insert a comment in the HTML source code. A comment will
be ignored by the browser. You can use comments to explain your code, which can help
you when you edit the source code at a later date.

<!-- This is a comment -->


Note that you need an exclamation point after the opening bracket, but not before the
closing bracket.

Recap on HTML Elements


• Each HTML element has an element name (body, h1, p, br)
• The start tag is the name surrounded by angle brackets: <h1>
• The end tag is a slash and the name surrounded by angle brackets </h1>
• The element content occurs between the start tag and the end tag
• Some HTML elements have no content
• Some HTML elements have no end tag

Basic Notes - Useful Tips


When you write HTML text, you can never be sure how the text is displayed in another
browser. Some people have large computer displays, some have small. The text will be
reformatted every time the user resizes his window. Never try to format the text in your
editor by adding empty lines and spaces to the text.

HTML will truncate the spaces in your text. Any number of spaces count as one. Some
extra information: In HTML a new line counts as one space.

Using empty paragraphs <p> to insert blank lines is a bad habit. Use the <br> tag instead.
(But don't use the <br> tag to create lists. Wait until you have learned about HTML lists.)

HTML automatically adds an extra blank line before and after some elements, like before
and after a paragraph, and before and after a heading.

We use a horizontal rule (the <hr> tag), to separate the sections in our tutorials.

More Examples
More paragraphs
This example demonstrates some of the default behaviors of paragraph elements.

Line breaks
This example demonstrates the use of line breaks in an HTML document.

Poem problems
This example demonstrates some problems with HTML formatting.
Headings
This example demonstrates the tags that display headings in an HTML document.

Horizontal rule
This example demonstrates how to insert a horizontal rule.

Hidden comments
This example demonstrates how to insert a hidden comment in the HTML source code.

Basic HTML Tags


If you lookup the basic HTML tags in the reference below, you will see that the reference
contains additional information about tag attributes.

You will learn more about HTML tag attributes in the next chapter of this tutorial.

Tag Description
<html> Defines an HTML document
<body> Defines the document's body
<h1> to <h6> Defines header 1 to header 6
<p> Defines a paragraph
<br> Inserts a single line break
<hr> Defines a horizontal rule
<!--> Defines a comment

HTML Attributes

Attributes provide additional information to an HTML element.

HTML Tag Attributes


HTML tags can have attributes. Attributes provide additional information to an HTML
element.
Attributes always come in name/value pairs like this: name="value".

Attributes are always specified in the start tag of an HTML element.

Attributes Example 1:
<h1> defines the start of a heading.

<h1 align="center"> has additional information about the alignment.

Try it yourself: Center aligned heading

Attributes Example 2:
<body> defines the body of an HTML document.

<body bgcolor="yellow"> has additional information about the background color.

Try it yourself: Background color

Attributes Example 3:
<table> defines an HTML table. (You will learn more about HTML tables later)

<table border="1"> has additional information about the border around the table.

Use Lowercase Attributes


Attributes and attribute values are case-insensitive. However, the World Wide Web
Consortium (W3C) recommends lowercase attributes/attribute values in their HTML 4
recommendation, and XHTML demands lowercase attributes/attribute values.

Always Quote Attribute Values


Attribute values should always be enclosed in quotes. Double style quotes are the most
common, but single style quotes are also allowed.
In some rare situations, like when the attribute value itself contains quotes, it is necessary
to use single quotes:

name='John "ShotGun" Nelson'

HTML Text Formatting

HTML defines a lot of elements for formatting output, like bold or italic text.

Below are a lot of examples that you can try out 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


This example demonstrates how to handle an abbreviation or an acronym.

Text direction
This example demonstrates how to change the text direction.

Quotations
This example demonstrates how to handle long and short quotations.

Deleted and inserted text


This example demonstrates how to mark a text that is deleted or inserted to a document.
How to View HTML Source
Have you ever seen a Web page and wondered "Hey! How did they do that?"

To find out, click the VIEW option in your browser's toolbar and select SOURCE or
PAGE SOURCE. This will open a window that shows you the HTML code of the page.

Text Formatting Tags


Tag Description
<b> Defines bold text
<big> Defines big text
<em> Defines emphasized text
<i> Defines italic text
<small> Defines small text
<strong> Defines strong text
<sub> Defines subscripted text
<sup> Defines superscripted text
<ins> Defines inserted text
<del> Defines deleted text
<s> Deprecated. Use <del> instead
<strike> Deprecated. Use <del> instead
<u> Deprecated. Use styles instead

"Computer Output" Tags


Tag Description
<code> Defines computer code text
<kbd> Defines keyboard text
<samp> Defines sample computer code
<tt> Defines teletype text
<var> Defines a variable
<pre> Defines preformatted text
<listing> Deprecated. Use <pre> instead
<plaintext> Deprecated. Use <pre> instead
<xmp> Deprecated. Use <pre> instead
Citations, Quotations, and Definition Tags
Tag Description
<abbr> Defines an abbreviation
<acronym> Defines an acronym
<address> Defines an address element
<bdo> Defines the text direction
<blockquote> Defines a long quotation
<q> Defines a short quotation
<cite> Defines a citation
<dfn> Defines a definition term

HTML Character Entities

Some characters like the < character, have a special meaning in HTML, and therefore
cannot be used in the text.

To display a less than sign (<) in HTML, we have to use a character entity.

Character Entities
Some characters have a special meaning in HTML, like the less than sign (<) that defines
the start of an HTML tag. If we want the browser to actually display these characters we
must insert character entities in the HTML source.

A character entity has three parts: an ampersand (&), an entity name or a # and an entity
number, and finally a semicolon (;).

To display a less than sign in an HTML document we must write: &lt; or &#60;

The advantage of using a name instead of a number is that a name is easier to remember.
The disadvantage is that not all browsers support the newest entity names, while the
support for entity numbers is very good in almost all browsers.
Note that the entities are case sensitive.

This example lets you experiment with character entities: Character Entities

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 spaces to your text, use the &nbsp; character
entity.

The Most Common Character Entities:


Result Description Entity Name Entity Number
non-breaking space &nbsp; &#160;
< less than &lt; &#60;
> greater than &gt; &#62;
& ampersand &amp; &#38;
" quotation mark &quot; &#34;
' apostrophe &apos; (does not work in IE) &#39;

Some Other Commonly Used Character Entities:


Result Description Entity Name Entity Number
¢ cent &cent; &#162;
£ pound &pound; &#163;
¥ yen &yen; &#165;
€ euro &euro; &#8364;
§ section &sect; &#167;
© copyright &copy; &#169;
® registered trademark &reg; &#174;
× multiplication &times; &#215;
÷ division &divide; &#247;

To see a full list of HTML character entities go to our HTML Entities Reference.
HTML Links

HTML uses a hyperlink to link to another document on the Web.

Examples
Create hyperlinks
This example demonstrates how to create links in an HTML document.

An image as a link
This example demonstrates how to use an image as a link.

(You can find more examples at the bottom of this page)

The Anchor Tag and the Href Attribute


HTML uses the <a> (anchor) tag to create a link to another document.

An anchor can point to any resource on the Web: an HTML page, an image, a sound file,
a movie, etc.

The syntax of creating an anchor:

<a href="url">Text to be displayed</a>

The <a> tag is used to create an anchor to link from, the href attribute is used to address
the document to link to, and the words between the open and close of the anchor tag will
be displayed as a hyperlink.

This anchor defines a link to W3Schools:

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

The line above will look like this in a browser:


Visit W3Schools!

The Target Attribute


With the target attribute, you can define where the linked document will be opened.

The line below will open the document in a new browser window:

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

The Anchor Tag and the Name Attribute


The name attribute is used to create a named anchor. When using named anchors we can
create links that can jump directly into a specific section on a page, instead of letting the
user scroll around to find what he/she is looking for.

Below is the syntax of a named anchor:

<a name="label">Text to be displayed</a>

The name attribute is used to create a named anchor. The name of the anchor can be any
text you care to use.

The line below defines a named anchor:

<a name="tips">Useful Tips Section</a>

You should notice that a named anchor is not displayed in a special way.

To link directly to the "tips" section, add a # sign and the name of the anchor to the end
of a URL, like this:

<a href="http://www.w3schools.com/html_links.asp#tips">
Jump to the Useful Tips Section</a>

A hyperlink to the Useful Tips Section from WITHIN the file "html_links.asp" will look
like this:

<a href="#tips">Jump to the Useful Tips Section</a>


Basic Notes - Useful Tips
Always add a trailing slash to subfolder references. If you link like this:
href="http://www.w3schools.com/html", you will generate two HTTP requests to the
server, because the server will add a slash to the address and create a new request like
this: href="http://www.w3schools.com/html/"

Named anchors are often used to create "table of contents" at the beginning of a large
document. Each chapter within the document is given a named anchor, and links to each
of these anchors are put at the top of the document.

If a browser cannot find a named anchor that has been specified, it goes to the top of the
document. No error occurs.

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

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

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

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 prevent 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>
<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 Tables

With HTML you can create tables.

Examples
Tables
This example demonstrates how to create tables in an HTML document.

Table borders
This example demonstrates different table borders.

(You can find more examples at the bottom of this 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, images, 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 borders.
Sometimes this can be useful, but most of the time, you want the borders to show.

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:

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
displays the border).

To avoid this, add a non-breaking space (&nbsp;) 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>&nbsp;</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 browser
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 "&nbsp;" to handle cells that have no content.

Table with a caption


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

Table Tags
Tag Description
<table> Defines a table
<th> Defines a table header
<tr> Defines a table row
<td> Defines a table cell
<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.

Examples
An unordered list
This example demonstrates an unordered list.

An ordered list
This example demonstrates an 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.

<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 items. This is a list of terms and explanation of the terms.

A definition list starts with the <dl> tag. Each definition-list term starts with the <dt> tag.
Each definition-list definition starts with the <dd> tag.

<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 a definition-list definition (the <dd> tag) you can put paragraphs, line breaks,
images, links, other lists, etc.

More Examples
Different types of ordered lists
This example demonstrates different types of ordered lists.

Different types of unordered Lists


This example demonstrates different types of unordered lists.

Nested list
This example demonstrates how you can nest lists.

Nested list 2
This example demonstrates a more complicated nested list.

Definition list
This example 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 definition term
<dd> Defines a definition description
<dir> Deprecated. Use <ul> instead
<menu> Deprecated. Use <ul> instead

HTML Forms and Input

HTML Forms are used to select different kinds of user input.

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>
<input>
</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:
<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 limited
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 another
file. 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.

<form name="input" action="html_form_action.asp"


method="get">
Username:
<input type="text" name="user">
<input type="submit" value="Submit">
</form>

How it looks in a browser:

Submit
Username:

If you type some characters in the text field above, and click the "Submit" button, you
will send your input to a page called "html_form_action.asp". That 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 number 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.

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

HTML Images

With HTML you can display images in a document.

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)

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

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 Backgrounds

A good background can make a Web site look really great.

Examples
Good background and text color
An example of a background color and a text color that makes the text on the page easy
to read.

Bad background and text color


An example of a background color and a text color that makes the text on the page
difficult to read.

(You can find more examples at the bottom of this page)

Backgrounds
The <body> tag has two attributes where you can specify backgrounds. The background
can be a color or an image.
Bgcolor

The bgcolor attribute specifies a background-color for an HTML page. The value of this
attribute can be a hexadecimal number, an RGB value, or a color name:

<body bgcolor="#000000">
<body bgcolor="rgb(0,0,0)">
<body bgcolor="black">

The lines above all set the background-color to black.

Background

The background attribute specifies a background-image for an HTML page. The value of
this attribute is the URL of the image you want to use. If the image is smaller than the
browser window, the image will repeat itself until it fills the entire browser window.

<body background="clouds.gif">
<body background="http://www.w3schools.com/clouds.gif">

The URL can be relative (as in the first line above) or absolute (as in the second line
above).

Note: If you want to use a background image, you should keep in mind:

• Will the background image increase the loading time too much?
• Will the background image look good with other images on the page?
• Will the background image look good with the text colors on the page?
• Will the background image look good when it is repeated on the page?
• Will the background image take away the focus from the text?

Basic Notes - Useful Tips


The bgcolor, background, and the text attributes in the <body> tag are deprecated in the
latest versions of HTML (HTML 4 and XHTML). The World Wide Web Consortium
(W3C) has removed these attributes from its recommendations.

Style sheets (CSS) should be used instead (to define the layout and display properties of
HTML elements).

More Examples
Good background image
An example of a background image and a text color that makes the text on the page easy
to read.

Good background image 2


An example of a background image and a text color that makes the text on the page easy
to read.

Bad background image


An example of a background image and a text color that makes the text on the page very
difficult to read.

Computer Joke
Support: "Type dir, space, a, colon."

Customer: "With a space after 'space'?"

HTML Colors

Colors are displayed combining RED, GREEN, and BLUE light sources.

Color Values
HTML colors can be defined as a hexadecimal notation for the combination of Red,
Green, and Blue color values (RGB).

The lowest value that can be given to one light source is 0 (hex #00) and the highest
value is 255 (hex #FF).

The table below shows the result of combining Red, Green, and Blue light sources:.

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)

W3C Standard Color Names


W3C has listed 16 color names that will validate with an HTML validator.

The color names are: aqua, black, blue, fuchsia, gray, green, lime, maroon, navy, olive,
purple, red, silver, teal, white, and yellow.

Cross-browser Color Names


A collection of nearly 150 color names are supported by all major browsers.

View the cross-browser color names

Cross-browser Color Values


Some years ago, when most computers only supported 256 different colors, a list of 216
Web Safe Colors was suggested as a Web standard. The reason for this was that the
Microsoft and Mac operating system used 40 different "reserved" fixed system colors
(about 20 each).

We are not sure how important this is now, since most computers today have the ability
to display millions of different colors, but the choice is left to you.

The 216 cross-browser color palette was created to ensure that all computers would
display the colors correctly when running a 256 color palette:

000000 000033 000066 000099 0000CC 0000FF


003300 003333 003366 003399 0033CC 0033FF
006600 006633 006666 006699 0066CC 0066FF
009900 009933 009966 009999 0099CC 0099FF
00CC00 00CC33 00CC66 00CC99 00CCCC 00CCFF
00FF00 00FF33 00FF66 00FF99 00FFCC 00FFFF
330000 330033 330066 330099 3300CC 3300FF
333300 333333 333366 333399 3333CC 3333FF
336600 336633 336666 336699 3366CC 3366FF
339900 339933 339966 339999 3399CC 3399FF
33CC00 33CC33 33CC66 33CC99 33CCCC 33CCFF
33FF00 33FF33 33FF66 33FF99 33FFCC 33FFFF
660000 660033 660066 660099 6600CC 6600FF
663300 663333 663366 663399 6633CC 6633FF
666600 666633 666666 666699 6666CC 6666FF
669900 669933 669966 669999 6699CC 6699FF
66CC00 66CC33 66CC66 66CC99 66CCCC 66CCFF
66FF00 66FF33 66FF66 66FF99 66FFCC 66FFFF
990000 990033 990066 990099 9900CC 9900FF
993300 993333 993366 993399 9933CC 9933FF
996600 996633 996666 996699 9966CC 9966FF
999900 999933 999966 999999 9999CC 9999FF
99CC00 99CC33 99CC66 99CC99 99CCCC 99CCFF
99FF00 99FF33 99FF66 99FF99 99FFCC 99FFFF
CC0000 CC0033 CC0066 CC0099 CC00CC CC00FF
CC3300 CC3333 CC3366 CC3399 CC33CC CC33FF
CC6600 CC6633 CC6666 CC6699 CC66CC CC66FF
CC9900 CC9933 CC9966 CC9999 CC99CC CC99FF
CCCC00 CCCC33 CCCC66 CCCC99 CCCCCC CCCCFF
CCFF00 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 Values

Colors are displayed combining RED, GREEN, and BLUE light sources.

Color Values
HTML colors are defined using a hexadecimal 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 highest value is 255 (hex #FF).

Turn Off the Red


If you turn off the Red light completely, there are 65536 different combination of Green
and Blue (256 x 256) to experiment with.

Click here to see some of these combinations of Green and Blue.

Turn On the Red


By setting the Red parameter to its maximum value, there are still 65536 different
combination of Green and Blue (256 x 256) to experiment with.

Click here to see some of these combinations of Green and Blue.

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 16384 different colors based on red light varying from 0 to 255, click
on one of the hexadecimal or rgb values below.
Red Light HEX 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)
#680000 rgb(104,0,0)
#700000 rgb(112,0,0)
#780000 rgb(120,0,0)
#800000 rgb(128,0,0)
#880000 rgb(136,0,0)
#900000 rgb(144,0,0)
#980000 rgb(152,0,0)
#A00000 rgb(160,0,0)
#A80000 rgb(168,0,0)
#B00000 rgb(176,0,0)
#B80000 rgb(184,0,0)
#C00000 rgb(192,0,0)
#C80000 rgb(200,0,0)
#D00000 rgb(208,0,0)
#D80000 rgb(216,0,0)
#E00000 rgb(224,0,0)
#E80000 rgb(232,0,0)
#F00000 rgb(240,0,0)
#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:

RGB(0,0,0) #000000
RGB(8,8,8) #080808
RGB(16,16,16) #101010
RGB(24,24,24) #181818
RGB(32,32,32) #202020
RGB(40,40,40) #282828
RGB(48,48,48) #303030
RGB(56,56,56) #383838
RGB(64,64,64) #404040
RGB(72,72,72) #484848
RGB(80,80,80) #505050
RGB(88,88,88) #585858
RGB(96,96,96) #606060
RGB(104,104,104) #686868
RGB(112,112,112) #707070
RGB(120,120,120) #787878
RGB(128,128,128) #808080
RGB(136,136,136) #888888
RGB(144,144,144) #909090
RGB(152,152,152) #989898
RGB(160,160,160) #A0A0A0
RGB(168,168,168) #A8A8A8
RGB(176,176,176) #B0B0B0
RGB(184,184,184) #B8B8B8
RGB(192,192,192) #C0C0C0
RGB(200,200,200) #C8C8C8
RGB(208,208,208) #D0D0D0
RGB(216,216,216) #D8D8D8
RGB(224,224,224) #E0E0E0
RGB(232,232,232) #E8E8E8
RGB(240,240,240) #F0F0F0
RGB(248,248,248) #F8F8F8
RGB(255,255,255) #FFFFFF

HTML Color Names

HTML Color Names


The table below provides a list of the color names that are supported by all major
browsers.

Note: If you want your pages to validate with an HTML or a CSS validator, W3C has
listed 16 color names that you can use: 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 must specify their RGB or HEX value.

Click on a color name (or a hex value) to view the color as the background-color along
with different text colors:

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 #7FFF00
Chocolate #D2691E
Coral #FF7F50
CornflowerBlue #6495ED
Cornsilk #FFF8DC
Crimson #DC143C
Cyan #00FFFF
DarkBlue #00008B
DarkCyan #008B8B
DarkGoldenRod #B8860B
DarkGray #A9A9A9
DarkGrey #A9A9A9
DarkGreen #006400
DarkKhaki #BDB76B
DarkMagenta #8B008B
DarkOliveGreen #556B2F
Darkorange #FF8C00
DarkOrchid #9932CC
DarkRed #8B0000
DarkSalmon #E9967A
DarkSeaGreen #8FBC8F
DarkSlateBlue #483D8B
DarkSlateGray #2F4F4F
DarkSlateGrey #2F4F4F
DarkTurquoise #00CED1
DarkViolet #9400D3
DeepPink #FF1493
DeepSkyBlue #00BFFF
DimGray #696969
DimGrey #696969
DodgerBlue #1E90FF
FireBrick #B22222
FloralWhite #FFFAF0
ForestGreen #228B22
Fuchsia #FF00FF
Gainsboro #DCDCDC
GhostWhite #F8F8FF
Gold #FFD700
GoldenRod #DAA520
Gray #808080
Grey #808080
Green #008000
GreenYellow #ADFF2F
HoneyDew #F0FFF0
HotPink #FF69B4
IndianRed #CD5C5C
Indigo #4B0082
Ivory #FFFFF0
Khaki #F0E68C
Lavender #E6E6FA
LavenderBlush #FFF0F5
LawnGreen #7CFC00
LemonChiffon #FFFACD
LightBlue #ADD8E6
LightCoral #F08080
LightCyan #E0FFFF
LightGoldenRodYellow #FAFAD2
LightGray #D3D3D3
LightGrey #D3D3D3
LightGreen #90EE90
LightPink #FFB6C1
LightSalmon #FFA07A
LightSeaGreen #20B2AA
LightSkyBlue #87CEFA
LightSlateGray #778899
LightSlateGrey #778899
LightSteelBlue #B0C4DE
LightYellow #FFFFE0
Lime #00FF00
LimeGreen #32CD32
Linen #FAF0E6
Magenta #FF00FF
Maroon #800000
MediumAquaMarine #66CDAA
MediumBlue #0000CD
MediumOrchid #BA55D3
MediumPurple #9370D8
MediumSeaGreen #3CB371
MediumSlateBlue #7B68EE
MediumSpringGreen #00FA9A
MediumTurquoise #48D1CC
MediumVioletRed #C71585
MidnightBlue #191970
MintCream #F5FFFA
MistyRose #FFE4E1
Moccasin #FFE4B5
NavajoWhite #FFDEAD
Navy #000080
OldLace #FDF5E6
Olive #808000
OliveDrab #6B8E23
Orange #FFA500
OrangeRed #FF4500
Orchid #DA70D6
PaleGoldenRod #EEE8AA
PaleGreen #98FB98
PaleTurquoise #AFEEEE
PaleVioletRed #D87093
PapayaWhip #FFEFD5
PeachPuff #FFDAB9
Peru #CD853F
Pink #FFC0CB
Plum #DDA0DD
PowderBlue #B0E0E6
Purple #800080
Red #FF0000
RosyBrown #BC8F8F
RoyalBlue #4169E1
SaddleBrown #8B4513
Salmon #FA8072
SandyBrown #F4A460
SeaGreen #2E8B57
SeaShell #FFF5EE
Sienna #A0522D
Silver #C0C0C0
SkyBlue #87CEEB
SlateBlue #6A5ACD
SlateGray #708090
SlateGrey #708090
Snow #FFFAFA
SpringGreen #00FF7F
SteelBlue #4682B4
Tan #D2B48C
Teal #008080
Thistle #D8BFD8
Tomato #FF6347
Turquoise #40E0D0
Violet #EE82EE
Wheat #F5DEB3
White #FFFFFF
WhiteSmoke #F5F5F5
Yellow #FFFF00
YellowGreen #9ACD32

HTML 4.01 Quick List

HTML Quick List from W3Schools. Print it, fold it, and put it in your pocket.
HTML Basic Document

<html>
<head>
<title>Document name goes here</title>
</head>

<body>
Visible text goes here
</body>

</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:[email protected]">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>
<th>someheader</th>
</tr>
<tr>
<td>sometext</td>
<td>sometext</td>
</tr>
</table>

Frames

<frameset cols="25%,75%">
<frame src="page1.htm">
<frame src="page2.htm">
</frameset>
Forms
<form action="http://www.example.com/test.asp" method="post/get">

<input type="text" name="lastname" value="Nixon" size="30" maxlength="50">


<input type="password">
<input type="checkbox" checked="checked">
<input type="radio" checked="checked">
<input type="submit">
<input type="reset">
<input type="hidden">

<select>
<option>Apples
<option selected>Bananas
<option>Cherries
</select>

<textarea name="Comment" rows="60" cols="20"></textarea>

</form>

Entities
&lt; is the same as <
&gt; is the same as >
&#169; is the same as ©

Other Elements

<!-- This is a comment -->

<blockquote>
Text quoted from some source.
</blockquote>

<address>
Address 1<br>
Address 2<br>
City<br>
</address>

Source : http://www.w3schools.com/html/html_quick.asp
HTML Layout

Everywhere on the Web you will find pages that are formatted like newspaper pages
using HTML columns.

HTML Layout - Using Tables


One very common practice with HTML, is An HTML <table> is used to divide a part
to use HTML tables to format the layout of of this Web page into two columns.
an HTML page.
The trick is to use a table without borders,
A part of this page is formatted with two and maybe a little extra cell-padding.
columns, like a newspaper page.
No matter how much text you add to this
As you can see on this page, there is a left page, it will stay inside its column borders.
column and a right column.

This text is displayed in the left column.

Same Layout - Color Added


One very common practice with HTML, is An HTML <table> is used to divide a part
to use HTML tables to format the layout of of this Web page into two columns.
an HTML page.
This text is displayed in the right column.
A part of this page is formatted with two
columns, like a newspaper page. The trick is to use a table without borders,
and maybe a little extra cell-padding.
As you can see at this page, there is a left
column and a right column. No matter how much text you add to this
page, it will stay inside its column borders.

Examples
Dividing a part of an HTML page into table columns is very easy to do. To let you
experiment with it, we have put together this simple example.
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


With HTML code like this, you can specify both the size and the type of the browser
output :

<p>
<font size="2" face="Verdana">
This is a paragraph.
</font>
</p>
<p>
<font size="3" face="Times">
This is another paragraph.
</font>
</p>

Try it yourself

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
recommendations. In future versions of HTML, style sheets (CSS) will be used to define
the layout and display properties of HTML elements.

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
recommendations, and how to insert a style sheet in an HTML document.

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, expensive
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
separate style sheet.

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 using
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
elements. 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
deprecated 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">

Test Your HTML With the W3C Validator


Input your page address in the box below
(like http://www.w3schools.com/)

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 external
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 inside 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>

Inline Styles

An inline style should be used when a unique style is to be applied to a single occurrence
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

Joke
Customer: Hello, it's me!
Support: It's me too!
Customer: No, Esmie. E, s, m, i, e!
Support: Sorry!

HTML Head

Examples
The title of a document
The title information inside a head element is not displayed in the browser window.
One target for all links
This example demonstrates how to use the base tag to let all the links on a page open in a
new window.

The Head Element


The head element contains general information, also called meta-information, about a
document. Meta means "information about".

You can say that meta-data means information about data, or meta-information means
information about information.

Information Inside the Head Element


The elements inside the head element should not be displayed by a browser.

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
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 information
(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 inaccessible to some users. Instead, automatic page forwarding should
be done using server-side redirects" 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,


VBScript">

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

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.

Uniform Resource Locators


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
default.asp, or index.html or something else depending on the settings of the Web server.
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
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:[email protected]">[email protected]</a>
creates a link to your own mail system like this:

[email protected]

HTML Scripts

Add scripts to HTML pages to make them more dynamic and interactive.

Examples
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>
<head>
</head>
<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 surrounded by
comment tags.

Example
JavaScript:
<script type="text/javascript">
<!--
document.write("Hello World!")
//-->
</script>

VBScript:
<script type="text/vbscript">
<!--
document.write("Hello World!")
'-->
</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. However, if a
browser supports the script inside the <script> tag it will ignore the <noscript> 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
<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
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 attributes
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 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 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 Reference

Below is a reference of ASCII characters in URL-encoding form (hexadecimal format).

Hexadecimal values can be used to display non-standard letters and characters in


browsers and plug-ins.

Try It
Type some text or an ASCII value in the input field below, and click on the "URL
Encode" button to see the URL-encoding.

This
is
a
text

URL Encode

URL-encoding from %00 to %8f


ASCII Value URL-encode ASCII Value URL-encode ASCII Value URL-encode
æ %00 0 %30 ` %60
%01 1 %31 a %61
%02 2 %32 b %62
%03 3 %33 c %63
%04 4 %34 d %64
%05 5 %35 e %65
%06 6 %36 f %66
%07 7 %37 g %67
backspace %08 8 %38 h %68
tab %09 9 %39 i %69
linefeed %0a : %3a j %6a
%0b ; %3b k %6b
%0c < %3c l %6c
c return %0d = %3d m %6d
%0e > %3e n %6e
%0f ? %3f o %6f
%10 @ %40 p %70
%11 A %41 q %71
%12 B %42 r %72
%13 C %43 s %73
%14 D %44 t %74
%15 E %45 u %75
%16 F %46 v %76
%17 G %47 w %77
%18 H %48 x %78
%19 I %49 y %79
%1a J %4a z %7a
%1b K %4b { %7b
%1c L %4c | %7c
%1d M %4d } %7d
%1e N %4e ~ %7e
%1f O %4f %7f
space %20 P %50 € %80
! %21 Q %51 %81
" %22 R %52 ‚ %82
# %23 S %53 ƒ %83
$ %24 T %54 „ %84
% %25 U %55 … %85
& %26 V %56 † %86
' %27 W %57 ‡ %87
( %28 X %58 ˆ %88
) %29 Y %59 ‰ %89
* %2a Z %5a Š %8a
+ %2b [ %5b ‹ %8b
, %2c \ %5c Œ %8c
- %2d ] %5d %8d
. %2e ^ %5e Ž %8e
/ %2f _ %5f %8f

URL-encoding from %90 to %ff


ASCII Value URL-encode ASCII Value URL-encode ASCII Value URL-encode
%90 À %c0 ð %f0
‘ %91 Á %c1 ñ %f1
’ %92 Â %c2 ò %f2
“ %93 Ã %c3 ó %f3
” %94 Ä %c4 ô %f4
• %95 Å %c5 õ %f5
– %96 Æ %c6 ö %f6
— %97 Ç %c7 ÷ %f7
˜ %98 È %c8 ø %f8
™ %99 É %c9 ù %f9
š %9a Ê %ca ú %fa
› %9b Ë %cb û %fb
œ %9c Ì %cc ü %fc
%9d Í %cd ý %fd
ž %9e Î %ce þ %fe
Ÿ %9f Ï %cf ÿ %ff
%a0 Ð %d0
¡ %a1 Ñ %d1
¢ %a2 Ò %d2
£ %a3 Ó %d3
%a4 Ô %d4
¥ %a5 Õ %d5
| %a6 Ö %d6
§ %a7 %d7
¨ %a8 Ø %d8
© %a9 Ù %d9
ª %aa Ú %da
« %ab Û %db
¬ %ac Ü %dc
¯ %ad Ý %dd
® %ae Þ %de
¯ %af ß %df
° %b0 à %e0
± %b1 á %e1
² %b2 â %e2
³ %b3 ã %e3
´ %b4 ä %e4
µ %b5 å %e5
¶ %b6 æ %e6
· %b7 ç %e7
¸ %b8 è %e8
¹ %b9 é %e9
º %ba ê %ea
» %bb ë %eb
¼ %bc ì %ec
½ %bd í %ed
¾ %be î %ee
¿ %bf ï %ef

Ready to Publish Your Work?


Your First Step: A Personal Web Server
• If you want other people to view your pages, you must publish them.
• To publish your work, you have to copy your files to a web server.
• Your own PC can act as a web server if it is connected to a network.
• If you are running Windows 98, you can use the PWS (Personal Web Server).
• PWS is hiding in the PWS folder in your Windows CD.

Personal Web Server (PWS)


PWS turns any Windows computer into a Web server. PWS is easy to install and ideal for
developing and testing Web applications. PWS has been optimized for workstation use,
but has all the requirements of a full Web server. It also runs Active Server Pages (ASP)
just like its larger brother IIS.

How to Install a Personal Web Server (PWS):


• Browse your Windows installation to see if you have installed PWS.
• If not, install PWS from the PWS directory on your Windows CD.
• Follow the instructions and get your Personal Web Server up and running.

Read more about Microsoft's Personal Web Server.

Note: Microsoft Windows XP Home Edition does not come with the option to turn your
computer into a PWS!

Internet Information Server (IIS)


Windows 2000's built-in Web server IIS, makes it easy to build large applications for the
Web. Both PWS and IIS include ASP, a server-side scripting standard that can be used to
create dynamic and interactive Web applications. IIS is also available for Windows NT.

If you want to read more about ASP, you should study our ASP School.

Read more about Microsoft's Internet Information Services.

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 !

ou Have Learned HTML, Now What?

HTML Summary
This tutorial has taught you how to use HTML to create your own web site.

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 is the "new" HTML. The latest HTML recommendation is HTML 4.01. This is
the last and final HTML version.

HTML will be replaced by XHTML, which is a stricter and cleaner version of HTML.

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.

You might also like