Example: Mainpage - HTM Page1.htm Page2.htm
Example: Mainpage - HTM Page1.htm Page2.htm
<html>
<body>
<h1>My First Heading</h1>
<p>My first paragraph.</p>
</body>
</html>
What is HTML?
HTML is a language for describing web pages.
HTML stands for Hyper Text Markup Language
HTML is not a programming language, it is a markup language
A markup language is a set of markup tags
HTML uses markup tags to describe web pages
HTML Tags
HTML markup tags are usually called HTML tags
HTML tags are keywords surrounded by angle brackets like <html>
HTML tags normally come in pairs like <b> and </b>
The first tag in a pair is the start tag, the second tag is the end tag
Start and end tags are also called opening tags and closing tags
HTML Documents = Web Pages
HTML documents describe web pages
HTML documents contain HTML tags and plain text
HTML documents are also called web pages
The purpose of a web browser (like Internet Explorer or Firefox) is to read HTML documents and display them
as web pages. The browser does not display the HTML tags, but uses the tags to interpret the content of the
page:
<html>
<body>
<h1>My First Heading</h1>
<p>My first paragraph.</p>
</body>
</html>
Example Explained
The text between <html> and </html> describes the web page
The text between <body> and </body> is the visible page content
The text between <h1> and </h1> is displayed as a heading
The text between <p> and </p> is displayed as a paragraph
What You Need
You don't need any tools to learn HTML at W3Schools.
You don't need an HTML editor
You don't need a web server
You don't need a web site
Editing HTML
HTML can be written and edited using many different editors like Dreamweaver and Visual Studio.
However, in this tutorial we use a plain text editor (like Notepad) to edit HTML. We believe using a plain text
editor is the best way to learn HTML.
Create Your Own Test Web
If you just want to learn HTML, skip the rest of this chapter.
If you want to create a test page on your own computer, just copy the 3 files below to your desktop.
(Right click on each link, and select "save target as" or "save link as")
mainpage.htm
page1.htm
page2.htm
After you have copied the files, you can double-click on the file called "mainpage.htm" and see your first web
site in action.
Try it yourself
Note: There is an exclamation point after the opening bracket, but not before the closing bracket.
HTML Tip - How to View HTML Source
Have you ever seen a Web page and wondered "Hey! How did they do that?"
To find out, right-click in the page and select "View Source" (IE) or "View Page Source" (Firefox), or similar for
other browsers. This will open a window containing the HTML code of the page.
HTML Tag Reference
W3Schools' tag reference contains additional information about these tags and their attributes.
You will learn more about HTML tags and attributes in the next chapters of this tutorial.
Tag
Description
<html>
Defines an HTML document
<body>
Defines the document's body
<h1> to <h6>
Defines HTML headings
<hr />
Defines a horizontal line
<!-->
Defines a comment
HTML documents are divided into paragraphs.
HTML Paragraphs
Paragraphs are defined with the <p> tag.
Example
<p>This is a paragraph</p>
<p>This is another paragraph</p>
Don't Forget the End Tag
Most browsers will display HTML correctly even if you forget the end tag:
Example
<p>This is a paragraph
<p>This is another paragraph
HTML Line Breaks
Use the <br /> tag if you want a line break (a new line) without starting a new paragraph:
Example
<p>This is<br />a para<br />graph with line breaks</p>
The <br /> element is an empty HTML element. It has no end tag.
<br> or <br />
In XHTML, XML, elements with no end tag (closing tag) are not allowed.
Even if <br> works in all browsers, writing <br /> instead works better in XHTML and XML applications.
HTML Output - Useful Tips
You cannot be sure how HTML will be displayed. Large or small screens, and resized windows will create
different results.
With HTML, you cannot change the output by adding extra spaces or extra lines in your HTML code.
The browser will remove extra spaces and extra lines when the page is displayed. Any number of lines count as
one line, and any number of spaces count as one space.
HTML Tag Reference
W3Schools' tag reference contains additional information about HTML elements and their attributes.
Tag
Description
<p>
Defines a paragraph
<br />
Inserts a single line break
HTML Text Formatting
This text is bold
This text is big
This text is italic
superscript
Try it yourself
HTML Formatting Tags
HTML uses tags like <b> and <i> for formatting output, like bold or italic text.
These HTML tags are called formatting tags (look at the bottom of this page for a complete reference).
Often <strong> renders as <b>, and <em> renders as <i>.
However, there is a difference in the meaning of these tags:
<b> or <i> defines bold or italic text only.
<strong> or <em> means that you want the text to be rendered in a way that the user understands as
"important". Today, all major browsers render strong as bold and em as italics. However, if a browser
one day wants to make a text highlighted with the strong feature, it might be cursive for example and not
bold!
HTML Text Formatting Tags
Tag
Description
<b>
<big>
<em>
<i>
<small>
<strong>
<sub>
<sup>
<ins>
<del>
Description
<code>
<kbd>
<samp>
<tt>
<var>
Defines a variable
<pre>
Description
<abbr>
Defines an abbreviation
<acronym>
Defines an acronym
<address>
<bdo>
<blockquote>
<q>
<cite>
Defines a citation
<dfn>
superscript
Try it yourself
HTML Formatting Tags
HTML uses tags like <b> and <i> for formatting output, like bold or italic text.
These HTML tags are called formatting tags (look at the bottom of this page for a complete reference).
Often <strong> renders as <b>, and <em> renders as <i>.
However, there is a difference in the meaning of these tags:
<b> or <i> defines bold or italic text only.
<strong> or <em> means that you want the text to be rendered in a way that the user understands as
"important". Today, all major browsers render strong as bold and em as italics. However, if a browser
one day wants to make a text highlighted with the strong feature, it might be cursive for example and not
bold!
HTML Text Formatting Tags
Tag
Description
<b>
<big>
<em>
<i>
<small>
<strong>
<sub>
<sup>
<ins>
<del>
Description
<code>
<kbd>
<samp>
<tt>
<var>
Defines a variable
<pre>
Description
<abbr>
Defines an abbreviation
<acronym>
Defines an acronym
<address>
<bdo>
<blockquote>
<q>
<cite>
Defines a citation
<dfn>
Example
<html>
<body style="background-color:yellow;">
Example
<html>
<body>
<h1 style="font-family:verdana;">A heading</h1>
<p style="font-family:arial;color:red;font-size:20px;">A paragraph.</p>
</body>
</html>
The font-family, color, and font-size properties make the old <font> tag obsolete.
Example
<html>
<body>
<h1 style="text-align:center;">Center-aligned heading</h1>
<p>This is a paragraph.</p>
</body>
</html>
Description
<center>
<u>
Attributes
Description
align
bgcolor
color
Note: Always add a trailing slash to subfolder references. If you link like this:
href="http://www.w3schools.com/html", you will generate two requests to the server, the server will first add a
slash to the address, and then create a new request like this: href="http://www.w3schools.com/html/".
Tip: Named anchors are often used to create "table of contents" at the beginning of a large document. Each
chapter within the document is given a named anchor, and links to each of these anchors are put at the top of the
document.
HTML Link Tags
Tag
Description
<a>
Defines an anchor
Description
<img />
Defines an image
<map>
Defines an image-map
<area />
HTML Tables
Apples
Bananas
Oranges
Other
HTML Tables
44%
23%
13%
10%
row 1, cell 2
row 2, cell 1
row 2, cell 2
Header 2
row 1, cell 1
row 1, cell 2
row 2, cell 1
row 2, cell 2
<col />
<thead>
<tbody>
<tfoot>
The most common HTML lists are ordered and unordered lists:
HTML Lists
An ordered list:
1. The first list item
2. The second list item
3. The third list item
An unordered list:
List item
List item
List item
Coffee
Milk
The <dl> tag is used in conjunction with <dt> (defines the item in the list) and <dd> (describes the item in the
list):
<dl>
<dt>Coffee</dt>
<dd>- black hot drink</dd>
<dt>Milk</dt>
<dd>- white cold drink</dd>
</dl>
How the HTML code above looks in a browser:
Coffee
- black hot drink
Milk
- white cold drink
Description
<ol>
<ul>
<li>
<dl>
<dt>
<dd>
HTML Forms
HTML forms are used to pass data to a server.
A form can contain input elements like text fields, checkboxes, radio-buttons, submit buttons and more. A form
can also contain select lists, textarea, fieldset, legend, and label elements.
The <form> tag is used to create an HTML form:
<form>
.
input elements
.
</form>
HTML Forms - The Input Element
The most important form element is the input element.
The input element is used to select user information.
An input element can vary in many ways, depending on the type attribute. An input element can be of type text
field, checkbox, password, radio button, submit button, and more.
The most used input types are described below.
Text Fields
<input type="text" /> defines a one-line input field that a user can enter text into:
<form>
First name: <input type="text" name="firstname" /><br />
Last name: <input type="text" name="lastname" />
</form>
How the HTML code above looks in a browser:
First name:
Last name:
Note: The form itself is not visible. Also note that the default width of a text field is 20 characters.
Password Field
<input type="password" /> defines a password field:
<form>
Password: <input type="password" name="pwd" />
</form>
How the HTML code above looks in a browser:
Password:
Note: The characters in a password field are masked (shown as asterisks or circles).
Radio Buttons
<input type="radio" /> defines a radio button. Radio buttons let a user select ONLY ONE one of a limited
number of choices:
<form>
<input type="radio" name="sex" value="male" /> Male<br />
<input type="radio" name="sex" value="female" /> Female
</form>
How the HTML code above looks in a browser:
Male
Female
Checkboxes
<input type="checkbox" /> defines a checkbox. Checkboxes let a user select ONE or MORE options of a
limited number of choices.
<form>
<input type="checkbox" name="vehicle" value="Bike" /> I have a bike<br />
<input type="checkbox" name="vehicle" value="Car" /> I have a car
</form>
How the HTML code above looks in a browser:
I have a bike
I have a car
Submit Button
<input type="submit" /> defines a submit button.
A submit button is used to send form data to a server. The data is sent to the page specified in the form's action
attribute. The file defined in the action attribute usually does something with the received input:
<form name="input" action="html_form_action.asp" method="get">
Username: <input type="text" name="user" />
<input type="submit" value="Submit" />
</form>
How the HTML code above looks in a browser:
Username:
If you type some characters in the text field above, and click the "Submit" button, the browser will send your
input to a page called "html_form_action.asp". The page will show you the received input.
HTML Form Tags
Tag
Description
<form>
<input />
<textarea>
<label>
<fieldset>
<legend>
<select>
<optgroup>
<option>
<button>
HTML Frames
With frames, you can display more than one HTML document in the same browser window. Each HTML
document is called a frame, and each frame is independent of the others.
The disadvantages of using frames are:
Frames are not expected to be supported in future versions of HTML
Frames are difficult to use. (Printing the entire page is difficult).
The web developer must keep track of more HTML documents
The HTML frameset Element
The frameset element holds one or more frame elements. Each frame element can hold a separate document.
The frameset element states HOW MANY columns or rows there will be in the frameset, and HOW MUCH
percentage/pixels of space will occupy each of them.
The HTML frame Element
The <frame> tag defines one particular window (frame) within a frameset.
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 document "frame_a.htm" is put into the first column, and the document
"frame_b.htm" is put into the second column:
<frameset cols="25%,75%">
<frame src="frame_a.htm" />
<frame src="frame_b.htm" />
</frameset>
Note: The frameset column size can also be set in pixels (cols="200,500"), and one of the columns can be set to
use the remaining space, with an asterisk (cols="25%,*").
Basic Notes - Useful Tips
Tip: 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.
Note: Add the <noframes> tag for browsers that do not support frames.
Important: You cannot use the <body></body> tags together with the <frameset></frameset> tags! However, if
you add a <noframes> tag containing some text for browsers that do not support frames, you will have to
enclose the text in <body></body> tags! See how it is done in the first example below.
Navigation frame
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.
Jump to a specified section within a frame
Two frames. One of the frames has a source to a specified section in a file. The specified section is made with
<a name="C10"> in the "link.htm" file.
Jump to a specified section with frame navigation
Two frames. The navigation frame (content.htm) to the left contains a list of links with the second frame
(link.htm) as a target. The second frame shows the linked document. One of the links in the navigation frame is
linked to a specified section in the target file. The HTML code in the file "content.htm" looks like this: <a href
="link.htm" target ="showframe">Link without Anchor</a><br><a href ="link.htm#C10" target
="showframe">Link with Anchor</a>.
HTML Frame Tags
Tag
Description
<frameset>
<frame />
<noframes>
Description
<iframe>
CSS[edit]
A more modern approach is to overlay links on an image using CSS absolute positioning; however,
this only supports rectangular clickable areas. This CSS technique may be suitable for making an
image map work properly on iPhones, which can fail to rescale pure HTML image maps correctly.
Image maps use[edit]
Image map example of The Club (dining club). Clicking on a person in the picture causes the browser
to load the appropriate article.
It is possible to create client-side image maps by hand using a text editor, but doing so requires web
designers to know how to code HTML as well as how to enumerate the coordinates of the areas they
wish to place over the image. As a result, most image maps coded by hand are simple polygons.
Because creating image maps in a text editor requires much time and effort, many applications have
been designed to allow web designers to create image maps quickly and easily, much as they would
create
shapes
in
a vector
graphics
editor.
Examples
of
these
applications
are
Adobe's Dreamweaver or KImageMapEditor (for KDE), and the imagemap plugin found in GIMP.
Image maps which do not make their clickable areas obvious risk subjecting the user to mystery meat
navigation. Even when they do, where they lead may not be obvious. This can be partially remedied
with rollover effects.[4]