HTML Tutorial
HTML Tutorial
In this HTML tutorial you will learn how to use HTML to create
your own Web site.
HTML Examples
Learn by 100 examples! With our editor, you can edit HTML, and click on a test button to view the
result.
Try-It-Yourself!
HTML References
At W3Schools you will find complete HTML references about tags, attributes, colors, entities, and
more.
W3Schools' Online Certification Program is the perfect solution for busy professionals who need to
balance work, family, and career building.
The HTML Developer Certificate is for developers who want to document their knowledge of HTML
4.01, XHTML, and CSS.
Computer Joke
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 Tags
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">
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.
Simple paragraphs
This example demonstrates how the text inside paragraph elements is displayed in the browser.
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.
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.
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.
Background color
This example demonstrates adding a background-color to an HTML page.
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 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.
Address
This example demonstrates how to write an address in an HTML document.
Text direction
This example demonstrates how to change the text direction.
Quotations
This example demonstrates how to handle long and short quotations.
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.
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
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
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
Computer Joke
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 IE only
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.
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!
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.
The line below defines a named anchor:
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
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.
• 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 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>
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)
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.
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>
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>
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).
To avoid this, add a non-breaking space ( ) to empty data cells, to make the borders visible:
<table border="1">
<tr>
<td>row 1, cell 1</td>
<td>row 1, cell 2</td>
</tr>
<tr>
<td>row 2, cell 1</td>
<td> </td>
</tr>
</table>
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
Examples
An unordered list
This example demonstrates an unordered list.
An ordered list
This example demonstrates an ordered list.
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>
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 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.
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.
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.
Radiobuttons
This example demonstrates how to create radio-buttons on an 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
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.
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 a clickable area inside an image map
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 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 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?
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
Computer Joke
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
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 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 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.
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
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 most browsers.
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.
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
Everywhere on the Web you will find pages that are formatted like newspaper pages
using HTML columns.
One very common practice with HTML, is to use An HTML <table> is used to divide a part of this
HTML tables to format the layout of an HTML Web page into two columns.
page.
The trick is to use a table without borders, and
A part of this page is formatted with two maybe a little extra cell-padding.
columns, like a newspaper page.
No matter how much text you add to this page,
As you can see on this page, there is a left it will stay inside its column borders.
column and a right column.
One very common practice with HTML, is to use An HTML <table> is used to divide a part of this
HTML tables to format the layout of an HTML Web page into two columns.
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 Joke
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
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.
<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.
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 got what we
always needed: Total control of presentation layout without messing up the document content.
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.
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.
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:
The HTML 4.01 Frameset DTD includes everything in the transitional DTD plus frames as well:
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>
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:
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
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.
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>.
<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.
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:
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.
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 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
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.
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
• 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.
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.
Note: Microsoft Windows XP Home Edition does not come with the option to turn your computer
into a PWS!
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.
• 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 !!
Basic Tags
Formatting Text
Text formatting
Preformatted text (how to control line breaks and spaces)
Different computer-output tags
Insert an address
Abbreviations and acronyms
Long and short quotations
How to mark deleted and inserted text
Links
Frames
Tables
Simple tables
Different table borders
Table with no borders
Headings in a table
Empty cells
Table with a caption
Table cells that span more than one row/column
Tags inside a table
Cell padding (control the white space between cell content and the borders
Cell spacing (control the distance between cells)
Add a background color or a background image to a table
Add a background color or a background image to a table cell
Align the content in a table cell
The new frame attribute
Lists
An unordered list
An ordered list
Different types of ordered lists
Different types of unordered Lists
Nested list
Nested list 2
Definition list
Images
Insert images
Insert images from another folder or another server
Align an image within a text
Let the image float to the left/right of a paragraph
Adjust images to different sizes
Display an alternate text for an image (if the browser can't load images)
Make a hyperlink of an image
Create an image-map, with click-able regions
Backgrounds
Styles
Scripts
Insert a script
Handle browsers that do not support scripts
<html>
<body>
The content of the body element is displayed in your browser.
</body>
</html>
<html>
<body>
<p>This is a paragraph.</p>
<p>This is a paragraph.</p>
<p>This is a paragraph.</p>
</body>
</html>
<html>
<body>
<p>
This paragraph
contains a lot of lines
in the source code,
but the browser
ignores it.
</p>
<p>
This paragraph
contains a lot of spaces
in the source code,
but the browser
ignores it.
</p>
<p>
The number of lines in a paragraph depends on the size of your browser window. If you
resize the browser window, the number of lines in this paragraph will change.
</p>
</body>
</html>
<html>
<body>
<p>
To break<br>lines<br>in a<br>paragraph,<br>use the br tag.
</p>
</body>
</html>
<html>
<body>
<p>
My Bonnie lies over the ocean.
My Bonnie lies over the sea.
My Bonnie lies over the ocean.
Oh, bring back my Bonnie to me.
</p>
</body>
</html>
<html>
<body>
<h1>This is heading 1</h1>
<h2>This is heading 2</h2>
<h3>This is heading 3</h3>
<h4>This is heading 4</h4>
<h5>This is heading 5</h5>
<h6>This is heading 6</h6>
<p>Use heading tags only for headings. Don't use them just to make something bold. Use
other tags for that.</p>
</body>
</html>
<html>
<body>
<p>The heading above is aligned to the center of this page. The heading above is aligned
to the center of this page. The heading above is aligned to the center of this page.</p>
</body>
</html>
<html>
<body>
<p>The hr tag defines a horizontal rule:</p>
<hr>
<p>This is a paragraph</p>
<hr>
<p>This is a paragraph</p>
<hr>
<p>This is a paragraph</p>
</body>
</html>
<html>
<body>
<!--This comment will not be displayed-->
<p>This is a regular paragraph</p>
</body>
</html>
<html>
<body bgcolor="yellow">
<h2>Look: Colored Background!</h2>
</body>
</html>
<html>
<body background="background.jpg">
<p>If the image is smaller than the page, the image will repeat itself.</p>
</body>
</html>
<html>
<body>
<br>
<strong>
This text is strong
</strong>
<br>
<big>
This text is big
</big>
<br>
<em>
This text is emphasized
</em>
<br>
<i>
This text is italic
</i>
<br>
<small>
This text is small
</small>
<br>
<br>
</body>
</html>
<html>
<body>
<pre>
This is
preformatted text.
It preserves both spaces
and line breaks.
</pre>
<pre>
for i = 1 to 10
print i
next i
</pre>
</body>
</html>
<html>
<body>
<code>Computer code</code>
<br>
<kbd>Keyboard input</kbd>
<br>
<tt>Teletype text</tt>
<br>
<samp>Sample text</samp>
<br>
<var>Computer variable</var>
<br>
<p>
<b>Note:</b> These tags are often used to display computer/programming code.
</p>
</body>
</html>
<html>
<body>
<address>
Donald Duck<br>
BOX 555<br>
Disneyland<br>
USA
</address>
</body>
</html>
<html>
<body>
<p>The title attribute is used to show the spelled-out version when holding the mouse
pointer over the acronym or abbreviation.</p>
<p>This works for both the abbr and acronym element in Netscape 6.2.</p>
</body>
</html>
<html>
<body>
<p>
With the block quote element, the browser inserts line breaks and margins, but the q
element does not render as anything special.
</p>
</body>
</html>
<html>
<body>
<p>
a dozen is
<del>twenty</del>
<ins>twelve</ins>
pieces
</p>
<p>
Most browsers will overstrike deleted text and underline inserted text.
</p>
<p>
Some older browsers will display deleted or inserted text as plain text.
</p>
</body>
</html>
<html>
<body>
<p>
<a href="lastpage.htm">
This text</a> is a link to a page on
this Web site.
</p>
<p>
<a href="http://www.microsoft.com/">
This text</a> is a link to a page on
the World Wide Web.
</p>
</body>
</html>
<html>
<body>
<p>
You can also use an image as a link:
<a href="lastpage.htm">
<img border="0" src="buttonnext.gif" width="65" height="38">
</a>
</p>
</body>
</html>
<html>
<body>
<p>
If you set the target attribute of a link to "_blank",
the link will open in a new window.
</p>
</body>
</html>
<html>
<body>
<p>
<a href="#C4">
See also Chapter 4.
</a>
</p>
<p>
<h2>Chapter 1</h2>
<p>This chapter explains ba bla bla</p>
<h2>Chapter 2</h2>
<p>This chapter explains ba bla bla</p>
<h2>Chapter 3</h2>
<p>This chapter explains ba bla bla</p>
<h2>Chapter 5</h2>
<p>This chapter explains ba bla bla</p>
<h2>Chapter 6</h2>
<p>This chapter explains ba bla bla</p>
<h2>Chapter 7</h2>
<p>This chapter explains ba bla bla</p>
<h2>Chapter 8</h2>
<p>This chapter explains ba bla bla</p>
<h2>Chapter 9</h2>
<p>This chapter explains ba bla bla</p>
<h2>Chapter 10</h2>
<p>This chapter explains ba bla bla</p>
<h2>Chapter 11</h2>
<p>This chapter explains ba bla bla</p>
<h2>Chapter 12</h2>
<p>This chapter explains ba bla bla</p>
<h2>Chapter 13</h2>
<p>This chapter explains ba bla bla</p>
<h2>Chapter 14</h2>
<p>This chapter explains ba bla bla</p>
<h2>Chapter 15</h2>
<p>This chapter explains ba bla bla</p>
<h2>Chapter 16</h2>
<p>This chapter explains ba bla bla</p>
<h2>Chapter 17</h2>
<p>This chapter explains ba bla bla</p>
</body>
</html>
<html>
<body>
<p>Locked in a frame?</p>
<a href="http://www.w3schools.com/"
target="_top">Click here!</a>
</body>
</html>
<html>
<body>
<p>
This is a mail link:
<a href="mailto:someone@microsoft.com?subject=Hello%20again">
Send Mail</a>
</p>
<p>
<b>Note:</b> Spaces between words should be replaced by %20 to <b>ensure</b> that
the browser will display your text properly.
</p>
</body>
</html>
<html>
<frameset cols="25%,50%,25%">
<frame src="frame_a.htm">
<frame src="frame_b.htm">
<frame src="frame_c.htm">
</frameset>
</html>
<html>
<frameset rows="25%,50%,25%">
<frame src="frame_a.htm">
<frame src="frame_b.htm">
<frame src="frame_c.htm">
</frameset>
</html>
<html>
<frameset rows="50%,50%">
<frame src="frame_a.htm">
<frameset cols="25%,75%">
<frame src="frame_b.htm">
<frame src="frame_c.htm">
</frameset>
</frameset>
</html>
<html>
<frameset cols="120,*">
<frame src="tryhtml_contents.htm">
<frame src="frame_a.htm"
name="showframe">
</frameset>
</html>
<html>
<body>
<iframe src="default.asp"></iframe>
</body>
</html>
<html>
<frameset cols="20%,80%">
<frame src="frame_a.htm">
<frame src="link.htm#C10">
</frameset>
</html>
<html>
<frameset cols="180,*">
<frame src="content.htm">
<frame src="link.htm" name="showframe">
</frameset>
</html>
<html>
<body>
<p>
Each table starts with a table tag.
Each table row starts with a tr tag.
Each table data starts with a td tag.
</p>
<h4>One column:</h4>
<table border="1">
<tr>
<td>100</td>
</tr>
</table>
</body>
</html>
<html>
<body>
</body>
</html>
<html>
<body>
</body>
</html>
<html>
<body>
<h4>Table headers:</h4>
<table border="1">
<tr>
<th>Name</th>
<th>Telephone</th>
<th>Telephone</th>
</tr>
<tr>
<td>Bill Gates</td>
<td>555 77 854</td>
<td>555 77 855</td>
</tr>
</table>
<h4>Vertical headers:</h4>
<table border="1">
<tr>
<th>First Name:</th>
<td>Bill Gates</td>
</tr>
<tr>
<th>Telephone:</th>
<td>555 77 854</td>
</tr>
<tr>
<th>Telephone:</th>
<td>555 77 855</td>
</tr>
</table>
</body>
</html>
<html>
<body>
<table border="1">
<tr>
<td>Some text</td>
<td>Some text</td>
</tr>
<tr>
<td></td>
<td>Some text</td>
</tr>
</table>
<p>
As you can see, one of the cells has no border. That is because it is empty. Try to insert a
space in the cell. Still it has no border.
</p>
<p>
The trick is to insert a no-breaking space in the cell.
</p>
<p>No-breaking space is a character entity. If you don't know what a character entity is,
read the chapter about it.
</p>
<p>
</p>
</body>
</html>
<html>
<body>
<h4>
This table has a caption,
and a thick border:
</h4>
<table border="6">
<caption>My Caption</caption>
<tr>
<td>100</td>
<td>200</td>
<td>300</td>
</tr>
<tr>
<td>400</td>
<td>500</td>
<td>600</td>
</tr>
</table>
</body>
</html>
<html>
<body>
</body>
</html>
<html>
<body>
<table border="1">
<tr>
<td>
<p>This is a paragraph</p>
<p>This is another paragraph</p>
</td>
<td>This cell contains a table:
<table border="1">
<tr>
<td>A</td>
<td>B</td>
</tr>
<tr>
<td>C</td>
<td>D</td>
</tr>
</table>
</td>
</tr>
<tr>
<td>This cell contains a list
<ul>
<li>apples</li>
<li>bananas</li>
<li>pineapples</li>
</ul>
</td>
<td>HELLO</td>
</tr>
</table>
</body>
</html>
.
<html>
<body>
<h4>Without cellpadding:</h4>
<table border="1">
<tr>
<td>First</td>
<td>Row</td>
</tr>
<tr>
<td>Second</td>
<td>Row</td>
</tr>
</table>
<h4>With cellpadding:</h4>
<table border="1"
cellpadding="10">
<tr>
<td>First</td>
<td>Row</td>
</tr>
<tr>
<td>Second</td>
<td>Row</td>
</tr>
</table>
</body>
</html>
<html>
<body>
<h4>Without cellspacing:</h4>
<table border="1">
<tr>
<td>First</td>
<td>Row</td>
</tr>
<tr>
<td>Second</td>
<td>Row</td>
</tr>
</table>
<h4>With cellspacing:</h4>
<table border="1"
cellspacing="10">
<tr>
<td>First</td>
<td>Row</td>
</tr>
<tr>
<td>Second</td>
<td>Row</td>
</tr>
</table>
</body>
</html>
<html>
<body>
<h4>Without cellspacing:</h4>
<table border="1">
<tr>
<td>First</td>
<td>Row</td>
</tr>
<tr>
<td>Second</td>
<td>Row</td>
</tr>
</table>
<h4>With cellspacing:</h4>
<table border="1"
cellspacing="10">
<tr>
<td>First</td>
<td>Row</td>
</tr>
<tr>
<td>Second</td>
<td>Row</td>
</tr>
</table>
</body>
</html>
<html>
<body>
</body>
</html>
<html>
<body>
<h4>Cell backgrounds:</h4>
<table border="1">
<tr>
<td bgcolor="red">First</td>
<td>Row</td>
</tr>
<tr>
<td
background="bgdesert.jpg">
Second</td>
<td>Row</td>
</tr>
</table>
</body>
</html>
<html>
<body>
</body>
</html>
<html>
<body>
<p>
If you see no frames around the tables in these examples, your browser is too old, or does
not support it.
</p>
<h4>With frame="border":</h4>
<table frame="border">
<tr>
<td>First</td>
<td>Row</td>
</tr>
<tr>
<td>Second</td>
<td>Row</td>
</tr>
</table>
<h4>With frame="box":</h4>
<table frame="box">
<tr>
<td>First</td>
<td>Row</td>
</tr>
<tr>
<td>Second</td>
<td>Row</td>
</tr>
</table>
<h4>With frame="void":</h4>
<table frame="void">
<tr>
<td>First</td>
<td>Row</td>
</tr>
<tr>
<td>Second</td>
<td>Row</td>
</tr>
</table>
<h4>With frame="above":</h4>
<table frame="above">
<tr>
<td>First</td>
<td>Row</td>
</tr>
<tr>
<td>Second</td>
<td>Row</td>
</tr>
</table>
<h4>With frame="below":</h4>
<table frame="below">
<tr>
<td>First</td>
<td>Row</td>
</tr>
<tr>
<td>Second</td>
<td>Row</td>
</tr>
</table>
<h4>With frame="hsides":</h4>
<table frame="hsides">
<tr>
<td>First</td>
<td>Row</td>
</tr>
<tr>
<td>Second</td>
<td>Row</td>
</tr>
</table>
<h4>With frame="vsides":</h4>
<table frame="vsides">
<tr>
<td>First</td>
<td>Row</td>
</tr>
<tr>
<td>Second</td>
<td>Row</td>
</tr>
</table>
<h4>With frame="lhs":</h4>
<table frame="lhs">
<tr>
<td>First</td>
<td>Row</td>
</tr>
<tr>
<td>Second</td>
<td>Row</td>
</tr>
</table>
<h4>With frame="rhs":</h4>
<table frame="rhs">
<tr>
<td>First</td>
<td>Row</td>
</tr>
<tr>
<td>Second</td>
<td>Row</td>
</tr>
</table>
</body>
</html>
<html>
<body>
</body>
</html>
<html>
<body>
</body>
</html>
<html>
<body>
<h4>Numbered list:</h4>
<ol>
<li>Apples</li>
<li>Bananas</li>
<li>Lemons</li>
<li>Oranges</li>
</ol>
<h4>Letters list:</h4>
<ol type="A">
<li>Apples</li>
<li>Bananas</li>
<li>Lemons</li>
<li>Oranges</li>
</ol>
</body>
</html>
.
<html>
<body>
</body>
</html>
<html>
<body>
</body>
</html>
<html>
<body>
</body>
</html>
<html>
<body>
</body>
</html>
<html>
<body>
<form>
First name:
<input type="text" name="firstname">
<br>
Last name:
<input type="text" name="lastname">
</form>
</body>
</html>
<html>
<body>
<form>
Username:
<input type="text" name="user">
<br>
Password:
<input type="password" name="password">
</form>
<p>
Note that when you type characters in a password field, the browser displays asterisks or
bullets instead of the characters.
</p>
</body>
</html>
<html>
<body>
<form>
I have a bike:
<input type="checkbox" name="Bike">
<br>
I have a car:
<input type="checkbox" name="Car">
</form>
</body>
</html>
<html>
<body>
<form>
Male:
<input type="radio" checked="checked"
name="Sex" value="male">
<br>
Female:
<input type="radio"
name="Sex" value="female">
</form>
<p>
When a user clicks on a radio-button, the button becomes checked, and all other buttons
with the same name become unchecked
</p>
</body>
</html>
<html>
<body>
<form>
<select name="cars">
<option value="volvo">Volvo
<option value="saab">Saab
<option value="fiat">Fiat
<option value="audi">Audi
</select>
</form>
</body>
</html>
<html>
<body>
<form>
<select name="cars">
<option value="volvo">Volvo
<option value="saab">Saab
<option value="fiat" selected="selected">Fiat
<option value="audi">Audi
</select>
</form>
</body>
</html>
This example cannot be edited
for input,
<html>
<body>
<form>
<input type="button" value="Hello world!">
</form>
</body>
</html>
<html>
<body>
<fieldset>
<legend>
Health information:
</legend>
<form>
Height <input type="text" size="3">
Weight <input type="text" size="3">
</form>
</fieldset>
<p>
If there is no border around the input form, your browser is too old.
</p>
</body>
</html>
<html>
<body>
</form>
<p>
If you click the "Submit" button, you will send your input to a new page called
html_form_action.asp.
</p>
</body>
</html>
<html>
<body>
<form name="input" action="html_form_action.asp" method="get">
I have a bike:
<input type="checkbox" name="Bike" checked="checked"><br>
I have a car:
<input type="checkbox" name="Car">
<br>
<input type="submit" value="Submit">
</form>
<p>
If you click the "Submit" button, you send your input to a new page called
html_form_action.asp.
</p>
</body>
</html>
<html>
<body>
<p>
If you click the "Submit" button, you will send your input to a new page called
html_form_action.asp.
</p>
</body>
</html>
<html>
<body>
<form action="MAILTO:someone@w3schools.com" method="post"
enctype="text/plain">
<h3>This form sends an e-mail to W3Schools.</h3>
Name:<br>
<input type="text" name="name"
value="yourname" size="20">
<br>
Mail:<br>
<input type="text" name="mail"
value="yourmail" size="20">
<br>
Comment:<br>
<input type="text" name="comment"
value="yourcomment" size="40">
<br><br>
<input type="submit" value="Send">
<input type="reset" value="Reset">
</form>
</body>
</html>
<html>
<body>
<p>
An image:
<img src="constr4.gif"
width="144" height="50">
</p>
<p>
A moving image:
<img src="hackanm.gif"
width="48" height="48">
</p>
<p>
Note that the syntax of inserting a moving image is no different from that of a non-
moving image.
</p>
</body>
</html>
<html>
<body>
<p>
An image from another folder:
<img src="/images/netscape.gif"
width="33" height="32">
</p>
<p>
An image from W3Schools:
<img src="http://www.w3schools.com/images/ie.gif" width="73" height="68">
</p>
</body>
</html>
<html>
<body>
<p>
An image
<img src="hackanm.gif"
align="bottom" width="48" height="48">
in the text
</p>
<p>
An image
<img src ="hackanm.gif"
align="middle" width="48" height="48">
in the text
</p>
<p>
An image
<img src ="hackanm.gif"
align="top" width="48" height="48">
in the text
</p>
<p>
An image
<img src ="hackanm.gif"
width="48" height="48">
in the text
</p>
<p>
<img src ="hackanm.gif"
width="48" height="48">
An image before the text
</p>
<p>
An image after the text
<img src ="hackanm.gif"
width="48" height="48">
</p>
</body>
</html>
<html>
<body>
<p>
<img src ="hackanm.gif"
align ="left" width="48" height="48">
A paragraph with an image. The align attribute of the image is set to "left". The image
will float to the left of this text.
</p>
<p>
<img src ="hackanm.gif"
align ="right" width="48" height="48">
A paragraph with an image. The align attribute of the image is set to "right". The image
will float to the right of this text.
</p>
</body>
</html>
<html>
<body>
<p>
<img src="hackanm.gif"
width="20" height="20">
</p>
<p>
<img src="hackanm.gif"
width="45" height="45">
</p>
<p>
<img src="hackanm.gif"
width="70" height="70">
</p>
<p>
You can make a picture larger or smaller changing the values in the "height" and "width"
attributes of the
img tag.
</p>
</body>
</html>
<html>
<body>
<p>
Text-only browsers cannot display images and will only display the text that is specified
in the "alt" attribute for the image. Here, the "alt"-text is "Go Left".</p>
<p>
Note that if you hold the mouse pointer over the image, most browsers will display the
"alt"-text.
</p>
</body>
</html>
<html>
<body>
<p>
You can also use an image as a link:
<a href="lastpage.htm">
<img border="0" src="buttonnext.gif" width="65" height="38">
</a>
</p>
</body>
</html>
<html>
<body>
<p>
Click on one of the planets to watch it closer:
</p>
<img src="planets.gif"
width="145" height="126"
usemap="#planetmap">
<area shape="rect"
coords="0,0,82,126"
alt="Sun"
href="sun.htm">
<area shape="circle"
coords="90,58,3"
alt="Mercury"
href="mercur.htm">
<area shape="circle"
coords="124,58,8"
alt="Venus"
href="venus.htm">
</map>
<p>
<b>Note:</b> We use both an <b>id</b> and a <b>name</b> attribute in the map tag
because some versions of Netscape don't understand the id attribute.</p>
</body>
</html>
<html>
<body bgcolor="#d0d0d0">
<p>
This is a paragraph. This is a paragraph. This is a paragraph. This is a paragraph. This is a
paragraph.
</p>
<p>
This is another paragraph. This is another paragraph. This is another paragraph. This is
another paragraph.
</p>
</body>
</html>
<html>
<body bgcolor="#ffffff" text="yellow">
<p>
This is a paragraph. This is a paragraph. This is a paragraph. This is a paragraph. This is a
paragraph.
</p>
<p>
This is another paragraph. This is another paragraph. This is another paragraph. This is
another paragraph.
</p>
</body>
</html>
<html>
<body background="background.jpg">
<h3>Image Background</h3>
<p>If the image is smaller than the page, the image will repeat itself.</p>
</body>
</html>
<html>
<body background="paper.gif">
<h3>Image Background</h3>
<p>If the image is smaller than the page, the image will repeat itself.</p>
</body>
</html>
<html>
<body background="rock.jpg">
<h3>Image Background</h3>
<p>If the image is smaller than the page, the image will repeat itself.</p>
</body>
</html>
<html>
<head>
<style type="text/css">
h1 {color: red}
h3 {color: blue}
</style>
</head>
<body>
<h1>This is header 1</h1>
<h3>This is header 3</h3>
</body>
</html>
<html>
<body>
<a href="lastpage.htm"
style="text-decoration:none">
THIS IS A LINK!
</a>
</body>
</html>
<html>
<head>
<link rel="stylesheet" type="text/css" href="styles.css" >
</head>
<body>
<h1>I am formatted with a linked style sheet</h1>
<p>Me too!</p>
</body>
</html>
<html>
<head>
<title>The title is not displayed</title>
</head>
<body>
<p>This text is displayed</p>
</body>
</html>
<html>
<head>
<base target="_blank">
</head>
<body>
<p>
<a href="http://www.w3schools.com"
target="_blank">This link</a>
will load in a new window because the target attribute is set to "_blank".
</p>
<p>
<a href="http://www.w3schools.com">
This link</a>
will also load in a new window even without a target attribute.
</p>
</body>
</html>
<html>
<head>
<meta name="author"
content="Jan Egil Refsnes">
<meta name="revised"
content="Jan Egil Refsnes,6/10/99">
<meta name="generator"
content="Microsoft FrontPage 4.0">
</head>
<body>
<p>
The meta attributes of this document identify the author and the editor software.
</p>
</body>
</html>
<html>
<head>
<meta name="description"
content="HTML examples">
<meta name="keywords"
content="HTML, DHTML, CSS, XML, XHTML, JavaScript, VBScript">
</head>
<body>
<p>
The meta attributes of this document describe the document and its keywords.
</p>
</body>
</html>
<html>
<head>
<meta http-equiv="Refresh"
content="5;url=http://www.w3schools.com">
</head>
<body>
<p>
Sorry! We have moved! The new URL is: <a
href="http://www.w3schools.com">http://www.w3schools.com</a>
</p>
<p>
You will be redirected to the new address in five seconds.
</p>
<p>
If you see this message for more than 5 seconds, please click on the link above!
</p>
</body>
</html>
<html>
<body>
<script type="text/javascript">
document.write("<h1>Hello World!</h1>")
</script>
</body>
</html>
<html>
<body>
<script type="text/javascript">
<!--
document.write("If this is displayed, your browser supports scripting!")
//-->
</script>
<p>
A browser that does not support JavaScript will show the text in the noscript element.
</p>
</body>
</html>