Introduction to HTML
Introduction to HTML
In OSX start TextEdit and change the following preferences: Select (in the preferences window) "Plain
text" instead of "Rich text" and then select "Ignore rich text commands in HTML files". This is very
important because if you don't do this HTML codes probably won't work.
<html>
<head>
<title>Title of page</title>
</head>
<body>
This is my first homepage. <b>This text is bold</b>
</body>
</html>
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.
You can easily edit HTML files using a WYSIWYG (what you see is what you get) editor like FrontPage,
Claris Home Page, or Adobe PageMill instead of writing your markup tags in a plain text file.
But if you want to be a skillful Web developer, we strongly recommend that you use a plain text editor to
learn your primer HTML.
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 tried to edit an HTML file but the changes don't show in the browser. Why?
A: The browser caches your pages so it doesn't have to read the same page twice. When you have
changed a page, the browser doesn't know that. Use the browser's refresh/reload button to force the
browser to read the edited page.
HTML Elements
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
<html>
<head>
<title>Title of page</title>
</head>
<body>
This is my first homepage. <b>This text is bold</b>
</body>
</html>
The purpose of the <b> tag is to define an HTML element that should be displayed as bold.
<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.
We have just said that HTML tags are not case sensitive: <B> means the same as <b>. When you surf
the Web, you will notice that most tutorials use uppercase HTML tags in their examples. We always use
lowercase tags. Why?
If you want to prepare yourself for the next generations of HTML you should start using 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.
Tag Attributes
Tags can have attributes. Attributes can provide additional information about the HTML elements on your
page.
This tag defines the body element of your HTML page: <body>. With an added bgcolor attribute, you can
tell the browser that the background color of your page should be red, like this: <body bgcolor="red">.
This tag defines an HTML table: <table>. With an added border attribute, you can tell the browser that
the table should have no borders: <table border="0">
Attributes always come in name/value pairs like this: name="value".
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:
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.
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
<p>This is a paragraph</p>
<p>This is another paragraph</p>
HTML automatically adds an extra blank line before and after a paragraph.
Line Breaks
The <br> tag is used when you want to end 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>
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.
Note that you need an exclamation point after the opening bracket, but not before the closing bracket.
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.)
You might have noticed that paragraphs can be written without the closing tag </p>. Don't rely on it. The
next version of HTML will not allow you to skip ANY closing tags.
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.
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:
Have you ever seen a Web page and wondered "How do they do that?"
To find out, simply click on the VIEW option in your browsers toolbar and select SOURCE or PAGE
SOURCE. This will open a window that shows you the actual HTML of the page.
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: < or <
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.
This example lets you experiment with character entities: Character Entities
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 character entity.
HTML Links
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.
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 <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.
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 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.
The name attribute is used to create a named anchor. The name of the anchor can be any text you care
to use.
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:
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
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.
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.
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>
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.
More Examples
Mixed frameset
This example demonstrates how to make a frameset with three documents, and how to mix them in rows
and columns.
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).
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
Examples
Tables
This example demonstrates how to create tables in an HTML document.
Table borders
This example demonstrates different table borders.
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:
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
<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>
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>
Note that the borders around the empty table cell are missing (NB! Mozilla Firefox displays the border).
<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>
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
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.
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.
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
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>
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>
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>
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
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
Examples
Text fields
This example demonstrates how to create text fields on a HTML page. A user can write text in a text field.
Password fields
This example demonstrates how to create a password field on a HTML page.
Forms
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.
<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>
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>
Male
Female
Checkboxes
Checkboxes are used when you want the user to select one or more
options of a limited number of choices.
<form>
<input type="checkbox" name="bike">
I have a bike
<br>
<input type="checkbox" name="car">
I have a car
</form>
I have a bike
I have a car
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.
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 a HTML page. A user can select or unselect a
checkbox.
Radiobuttons
This example demonstrates how to create radio-buttons on a HTML page.
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.
Form Examples
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
Examples
Insert images
This example demonstrates how to display images in your Web page.
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.
<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 is used to define an "alternate text" for an image. The
value of the alt attribute is an author-defined text:
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.
Image Tags
Tag Description
<img> Defines an image
<map> Defines an image map
<area> Defines an area inside an image map
HTML Backgrounds
Examples
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 sets the background to a color. 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">
Background
<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? Tip: Image files should be
maximum 10k
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?
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. In future versions of HTML, style sheets (CSS) will be used to define the layout and
display properties of HTML elements.
The most used background colors are: white, black and gray.
More Examples
HTML Layout
Everywhere on the Web you will find pages that are formatted like newspaper pages using
HTML columns.
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
Even if a lot of people are using it, you should try to avoid it, and use styles instead.
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 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.
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.
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.
When a browser reads a style sheet, it will format the document according to it. There are three ways of
inserting a 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>
<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:
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 Head
Examples
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.
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>.
<head>
<p>This is some text</p>
</head>
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.
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.
Some search engines on the WWW will use the name and content
attributes of the meta tag to index your pages.
<meta name="description" content="Free Web tutorials on HTML, CSS, XML, and XHTML">
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.
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 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.
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 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
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 link doesn't work. Don't try it. It is just an example. W3Schools doesn't really have an ftp directory.)
<a href="mailto:[email protected]">[email protected]</a>
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.
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>
Hello World!
Note: To learn more about scripting in HTML, visit our JavaScript School.
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>
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 Quick List from W3Schools. Print it, fold it, and put it in your pocket.
<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>
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.somewhere.com/somepage.asp" method="post/get">
<select>
<option>Apples
<option selected>Bananas
<option>Cherries
</select>
</form>
Entities
< is the same as <
> is the same as >
© is the same as ©
Other Elements
<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 4.01 Reference
Ordered Alphabetically
NN: indicates the earliest version of Netscape that supports the tag
IE: indicates the earliest version of Internet Explorer that supports the tag
Tag Description NN IE
<!--...--> Defines a comment 3.0 3.0
<!DOCTYPE> Defines the document type
<a> Defines an anchor 3.0 3.0
<abbr> Defines an abbreviation 6.2
<acronym> Defines an acronym 6.2 4.0
<address> Defines an address element 4.0 4.0
<applet> Deprecated. Defines an applet 2.0 3.0
<area> Defines an area inside an image map 3.0 3.0
<b> Defines bold text 3.0 3.0
<base> Defines a base URL for all the links in a page 3.0 3.0
<basefont> Deprecated. Defines a base font 3.0 3.0
<bdo> Defines the direction of text display 6.2 5.0
<big> Defines big text 3.0 3.0
<blockquote> Defines a long quotation 3.0 3.0
<body> Defines the body element 3.0 3.0
<br> Inserts a single line break 3.0 3.0
<button> Defines a push button 6.2 4.0
<caption> Defines a table caption 3.0 3.0
<center> Deprecated. Defines centered text 3.0 3.0
<cite> Defines a citation 3.0 3.0
<code> Defines computer code text 3.0 3.0
<col> Defines attributes for table columns 3.0
<colgroup> Defines groups of table columns 3.0
<dd> Defines a definition description 3.0 3.0
<del> Defines deleted text 6.2 4.0
<dir> Deprecated. Defines a directory list 3.0 3.0
<div> Defines a section in a document 3.0 3.0
<dfn> Defines a definition term 3.0
<dl> Defines a definition list 3.0 3.0
<dt> Defines a definition term 3.0 3.0
<em> Defines emphasized text 3.0 3.0
<fieldset> Defines a fieldset 6.2 4.0
<font> Deprecated. Defines the font face, size, and color of text 3.0 3.0
<form> Defines a form 3.0 3.0
<frame> Defines a sub window (a frame) 3.0 3.0
<frameset> Defines a set of frames 3.0 3.0
<h1> to <h6> Defines header 1 to header 6 3.0 3.0
<head> Defines information about the document 3.0 3.0
<hr> Defines a horizontal rule 3.0 3.0
<html> Defines an html document 3.0 3.0
<i> Defines italic text 3.0 3.0
<iframe> Defines an inline sub window (frame) 6.0 4.0
<img> Defines an image 3.0 3.0
<input> Defines an input field 3.0 3.0
<ins> Defines inserted text 6.2 4.0
<isindex> Deprecated. Defines a single-line input field. Use <input> instead 3.0 3.0
<kbd> Defines keyboard text 3.0 3.0
<label> Defines a label for a form control 6.2 4.0
<legend> Defines a title in a fieldset 6.2 4.0
<li> Defines a list item 3.0 3.0
<link> Defines a resource reference 4.0 3.0
<map> Defines an image map 3.0 3.0
<menu> Deprecated. Defines a menu list 3.0 3.0
<meta> Defines meta information 3.0 3.0
<noframes> Defines a noframe section 3.0 3.0
<noscript> Defines a noscript section 3.0 3.0
<object> Defines an embedded object 3.0
<ol> Defines an ordered list 3.0 3.0
<optgroup> Defines an option group 6.0 6.0
<option> Defines an option in a drop-down list 3.0 3.0
<p> Defines a paragraph 3.0 3.0
<param> Defines a parameter for an object 3.0 3.0
<pre> Defines preformatted text 3.0 3.0
<q> Defines a short quotation 6.2
<s> Deprecated. Defines strikethrough text 3.0 3.0
<samp> Defines sample computer code 3.0 3.0
<script> Defines a script 3.0 3.0
<select> Defines a selectable list 3.0 3.0
<small> Defines small text 3.0 3.0
<span> Defines a section in a document 4.0 3.0
<strike> Deprecated. Defines strikethrough text 3.0 3.0
<strong> Defines strong text 3.0 3.0
<style> Defines a style definition 4.0 3.0
<sub> Defines subscripted text 3.0 3.0
<sup> Defines superscripted text 3.0 3.0
<table> Defines a table 3.0 3.0
<tbody> Defines a table body 4.0
<td> Defines a table cell 3.0 3.0
<textarea> Defines a text area 3.0 3.0
<tfoot> Defines a table footer 4.0
<th> Defines a table header 3.0 3.0
<thead> Defines a table header 4.0
<title> Defines the document title 3.0 3.0
<tr> Defines a table row 3.0 3.0
<tt> Defines teletype text 3.0 3.0
<u> Deprecated. Defines underlined text 3.0 3.0
<ul> Defines an unordered list 3.0 3.0
<var> Defines a variable 3.0 3.0
<xmp> Deprecated. Defines preformatted text. Use <pre> instead 3.0 3.0
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.
Language Attributes
Not valid in base, br, frame, frameset, hr, iframe, param, and script
elements.
Keyboard Attributes
Attribute Value Description
accesskey character Sets a keyboard shortcut to access an element
tabindex number Sets the tab order of an element
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
Keyboard Events
Not valid in base, bdo, br, frame, frameset, head, html, iframe, meta,
param, script, style, and title elements.
Mouse Events
Not valid in base, bdo, br, frame, frameset, head, html, iframe, meta,
param, script, style, title elements.
HTML uses standard 7-BIT ASCII when transmitting data over the Web.
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.
The lower part of ISO-8859-1 (codes from 0-127) is the original 7-BIT ASCII standard. Most of these
characters can be used without a character reference.
The higher part of ISO-8859-1 (codes from 160-255) can all be used using character entity names.
HTML Colors
Colors are displayed combining RED, GREEN, and BLUE light sources.
Color Values
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 light source is 0 (hex #00). The highest value is 255
(hex #FF).
This table shows the result of combining Red, Green, and Blue light
sources:.
Color Names
A collection of color names are supported by newer versions of both Netscape and Internet Explorer.
Note: Only 16 color names are supported by the W3C HTML 4.0 standard (aqua, black, blue, fuchsia,
gray, green, lime, maroon, navy, olive, purple, red, silver, teal, white, and yellow). For all other colors you
should use the Color HEX value.
A few years ago, when most computers supported only 256 different colors, a list of 216 Web Safe Colors
was suggested as a Web standard. The reason for this was that 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 more and more computers are equipped with the ability
to display millions of different colors, but the choice is left to you.
This 216 cross platform web safe color palette was originally created to
ensure that all computers would display all colors correctly when running a
256 color palette.
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).
If you turn off the Red light completely, there are 65536 different combination of Green and Blue (256 x
256) to experiment with.
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.
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.
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
On this page you will find a table of color names that are supported by newer versions of both Netscape
and Internet Explorer.
Note: Only 16 color names are supported by the W3C HTML 4.0 standard (aqua, black, blue, fuchsia,
gray, green, lime, maroon, navy, olive, purple, red, silver, teal, white, and yellow). For all other colors you
should use the Color HEX value.
Click on a color name, or a hex value, to see that color as the background
color along with different text colors.
When a browser requests a service from a web server, an error might occur.
Message: Description:
100 Continue Only a part of the request has been received by the server,
but as long as it has not been rejected, the client should
continue with the request
2xx: Successful
Message: Description:
202 Accepted The request is accepted for processing, but the processing is
not complete
204 No Content
3xx: Redirection
Message: Description:
300 Multiple Choices A link list. The user can select a link and go to that location.
Maximum five addresses
301 Moved Permanently The requested page has moved to a new url
302 Found The requested page has moved temporarily to a new url
303 See Other The requested page can be found under a different url
306 Unused This code was used in a previous version. It is no longer used,
but the code is reserved
307 Temporary Redirect The requested page has moved temporarily to a new url
Message: Description:
400 Bad Request The server did not understand the request
402 Payment Required You can not use this code yet
404 Not Found The server can not find the requested page
405 Method Not Allowed The method specified in the request is not allowed
406 Not Acceptable The server can only generate a response that is not accepted
by the client
407 Proxy Authentication Required You must authenticate with a proxy server before this request
can be served
408 Request Timeout The request took longer than the server was prepared to wait
411 Length Required The "Content-Length" is not defined. The server will not
accept the request without it
412 Precondition Failed The precondition given in the request evaluated to false by
the server
413 Request Entity Too Large The server will not accept the request, because the request
entity is too large
414 Request-url Too Long The server will not accept the request, because the url is too
long. Occurs when you convert a "post" request to a "get"
request with a long query information
415 Unsupported Media Type The server will not accept the request, because the media
type is not supported
416
Message: Description:
500 Internal Server Error The request was not completed. The server met an
unexpected condition
501 Not Implemented The request was not completed. The server did not support
the functionality required
502 Bad Gateway The request was not completed. The server received an
invalid response from the upstream server
503 Service Unavailable The request was not completed. The server is temporarily
overloading or down
505 HTTP Version Not Supported The server does not support the "http protocol" version