HTML Study Material
HTML Study Material
HTML.
HTML Introduction
Before you begin, it's important that you know Windows or Unix. A working
knowledge of Windows or Unix makes it much easier to learn HTML.
Introducing HTML:
HTML stands for Hypertext Markup Language, and it is the most widely used language
to write Web Pages. As its name suggests, HTML is a markup language.
Originally, HTML was developed with the intent of defining the structure of
documents like headings, paragraphs, lists, and so forth to facilitate the sharing
of scientific information between researchers.
All you need to do to use HTML is to learn what type of markup to use to get the
results you want.
1|Page
Creating HTML Document:
2|Page
Creating an HTML document is easy. To begin coding HTML you need only two
things: a simple- text editor and a web browser. Notepad is the most basic of simple-
text editors and you will probably code a fair amount of HTML with it.
You have basic HTML document now, to see some result put the following code in title
and body tags.
<html>
<head>
<title>This is document title</title>
</head>
<body>
<h1>This is a heading</h1>
<p>Document description goes here.....</p>
</body>
</html>
Now you have created one HTML page and you can use a Web Browser to open this
HTML file to see the result. Hope you understood that Web Pages are nothing but
they are simple HTML files with some content which can be rendered using Web
Browsers.
Here <html>, <head>,...<p>, <h1> etc. are called HTML tags. HTML tags are building
blocks of an HTML document nd we will learn all the HTML tags in subsequent
chapters.
NOTE: One HTML file can have extension as .htm or .html. So you can use either
of them based on your comfort.
An HTML document starts and ends with <html> and >/html> tags. These tags tell the
browser that the entire document is composed in HTML. Inside these two tags, the
document is split into two sections:
4|Page
HTML language is a markup language and we use many tags to markup text. In
the above example you have seen <html>, <body> etc. are called HTML tags or HTML
elements.
Every tag consists of a tag name, sometimes followed by an optional list of tag
attributes , all placed between opening and closing brackets (< and >). The simplest
tag is nothing more than a name appropriately enclosed in brackets, such as <head>
and <i>. More complicated tags contain one or more attributes , which specify or
modify the behaviour of the tag.
According to the HTML standard, tag and attribute names are not case-sensitive.
There's no difference in effect between <head>, <Head>, <HEAD>, or even <HeaD>;
they are all equivalent. But with XHTML, case is important: all current standard tag
and attribute names are in lowercase.
HTML is Forgiving?
A very good quality associated with all the browsers is that they would not give any
error if you have not put any HTML tag or attribute properly. They will just ignore
that tag or attribute and will apply only correct tags and attributes before displaying the
result.
We can not say, HTML is forgiving because this is just a markup language and
required to format documents.
The basic structure for all HTML documents is simple and should include the following
minimum elements or tags:
Remember that before an opening <html> tag, an XHTML document can contain the
optional XML declaration, and it should always contain a DOCTYPE declaration
indicating which version of XHTML it uses.
Now we will explain each of these tags one by one. In this tutorial you will find
the terms element and tag are used interchangeably.
The <html> element is the containing element for the whole HTML document.
Each HTML document should have one <html> and each document should end with a
closing </html> tag.
<head>
<body>
5|Page
As such, start and end HTML tags enclose all the other HTML tags you use to describe
the Web page.
The <head> element is just a container for all other header elements. It should be
the first thing to appear after the opening <html> tag.
6|Page
Each <head> element should contain a <title> element indicating the title of the
document, although it may also contain any combination of the following elements, in
any order:
The <base> tag is used to areate a "base" url for all links on the page.
The <object> tag is designed to include images, JavaScript objects, Flash
animations, MP3 files, QuickTime movies and other components of a page.
The <link> tag is used to link to an external file, such as a style sheet or
JavaScript file.
The <style> tag is used to include CSS rules inside the document.
The <script> tag is used to include JAVAScript or VBScript inside the
document
The <meta> tag includes information about the document such as
keywords and a description, which are particularly helpful for search
applications.
Example:
<head>
<title>HTML Basic tags</title>
<meta name="Keywords" content="HTML, Web Pages" />
<meta name="description" content="HTML Basic Tags" />
<base href="http://www.tutorialspoint.com" />
<link rel="stylesheet" type="text/css" href="tp.css" />
<script type="text/javascript">
_uacct = "UA-232293";
urchinTracker();
</script>
</head>
You should specify a title for every page that you write inside the <title> element.
This element is a child of the <head> element). It is used in several ways:
Therefore it is important to use a title that really describes the content of your site.
The <title> element should contain only the text for the title and it may not contain
any other elements.
Example:
<head>
<title>HTML Basic tags</title>
</head>
7|Page
The <body> Element:
8|Page
The <body> element appears after the <head> element and contains the part of the Web
page that you actually see in the main browser window, which is sometimes referred
to as body content.
A <body> element may contain anything from a couple of paragraphs under a heading
to more complicated layouts containing forms and tables.
Most of what you will be learning in this and the following five chapters will be written
between the opening <body> tag and closing </body> tag.
Example:
<body>
<p>This is a paragraph tag.</p>
</body>
Now if we will put all these tags together, it will constitute a complete HTML
document as follows:
<html>
<head>
<title>HTML Basic tags</title>
<meta name="Keywords" content="HTML, Web Pages" />
<meta name="description" content="HTML Basic Tags" />
<base href="http://www.tutorialspoint.com" />
<link rel="stylesheet" type="text/css" href="tp.css" />
<script type="text/javascript">
_uacct = "UA-232293";
urchinTracker();
</script>
</head>
<body>
<p>This is a paragraph tag.</p>
</body>
</html>
HTML lets you specify metadata - information about a document rather than document
content - in a variety of ways. The META element can be used to include name/value
pairs describing properties of the HTML document, such as author, Expiry Date, a list
of key words, author etc.
The <meta> tag is an empty element and so does not have a closing tag, rather, <meta>
9|Page
tags carry information within attributes, so you need a forward slash character at the
end of the element.
Metadata provided by using meta tag is a very important part of the web. It can assist
search engines in finding the best match when a user performs a search. Search engines
will often look
10 | P a g
e
at any metadata attached to a page - especially keywords - and rank it higher than
another page with less relevant metadata, or with no metadata at all.
You can add metadata to your web pages by placing <meta> tags between the <head>
and
</head> tags. The can include the following attributes:
Attribut Description
e
Name Name for the property. Can be anything. Examples include, keywords,
description, author, revised, generator etc.
scheme Specifies a scheme to use to interpret the property's value (as declared
in the content attribute).
http- Used for http response message headers. For example http-equiv can be
equi used to refresh the page or to set a cookie. Values include content-type,
v expires, refresh and set-cookie.
NOTE: Core attributes for all the elements are discussed in next chapter.
Specifying Keywords:
We specify keywords which will be used by the search engine to search a web page.
So using following tag you can specify important keywords related to your page.
<head>
<meta name="keywords" content="HTML, meta tags, metadata" />
</head>
Document Description:
This is again important information and many search engine use this information as
well while searching a web page. So you should give an appropriate description of the
page.
<head>
<meta name="description" content="Learn about Meta Tags." />
</head>
11 | P a g
e
Document Revision date:
This information tells about last time the document was updated.
12 | P a g
e
<head>
<meta name="revised" content="Tutorialspoint, 6/12/2006" />
</head>
Document Refreshing:
You can specify a duration after which your web page will keep refreshing. If you
want your page keep refreshing after every 10 seconds then use the following syntax.
<head>
<meta http-equiv="refresh" content="10" />
</head>
Page Redirection:
You can specify a page redirection using Meta Tag. Following is an example of
redirecting current page to another page. You can specify a duration after which page
will be redirected.
<head>
<meta http-equiv="refresh"
content="10; url=http://www.tutorialspoint.com" />
</head>
Setting Cookies:
You can use Meta Tag to store cookies on client side later information can be used by
then Web Server to track a site visitor.
<head>
<meta http-equiv="cookie" content="userid=xyz;
expires=Wednesday, 08-Aug-00 23:59:59 GMT; />
</head>
If you do not include the expiration date and time, the cookie is considered a session
cookie and will be deleted when the user exits the browser.
You can set an author name in a web page using Meta Tag. See an example below:
<head>
<meta name="author" content="Mahnaz Mohtashim" />
</head>
13 | P a g
e
If you do not include the expiration date and time, the cookie is considered a session
cookie and will be deleted when the user exits the browser.
HTML Attributes
14 | P a g
e
Attributes are another important part of HTML markup. An attribute is used to
define the characteristics of an element and is placed inside the element's opening
tag. All attributes are made up of two parts: a name and a value:
The name is the property you want to set. For example, the <font> element
in the example carries an attribute whose name is face, which you can use to
indicate which typeface you want the text to appear in.
The value is what you want the value of the property to be. The first example
was supposed to use the Arial typeface, so the value of the face attribute is Arial.
The value of the attribute should be put in double quotation marks, and is separated
from the name by the equals sign. You can see that a color for the text has been
specified as well as the typeface in this <font> element:
Many HTML tags have a unique set of their own attributes. These will be discussed as
each tag is introduced throughout the tutorial. Right now we want to focus on a set of
generic attributes that can be used with just about every HTML Tag in existence.
Core Attributes:
The four core attributes that can be used on the majority of HTML elements (although
not all) are:
id
title
class
style
The id Attribute:
The id attribute can be used to uniquely identify any element within a page ( or style
sheet ). There are two primary reasons that you might want to use an id attribute on an
element:
We will discuss style sheet in separate tutorial. For now, the id attribute could be
used to distinguish between two paragraph elements, like so:
Note that there are some special rules for the value of the id attribute, it must:
15 | P a g
e
Begin with a letter (A.Z or a.z) and can then be followed by any number
of letters, digits (0.9), hyphens, underscores, colons, and periods.
Remain unique within that document; no two attributes may have the
same value within that HTML document.
16 | P a g
e
The title attribute gives a suggested title for the element. They syntax for the title
attribute is similar as explained for id attribute:
The behavior of this attribute will depend upon the element that carries it, although
it is often displayed as a tooltip or while the element is loading.
For example:
Now try to bring your cursor over "Titled Heading Tag Example" and see the result.
The class attribute is used to associate an element with a style sheet, and specifies the
class of element. You learn more about the use of the class attribute when you will
learn Casecading Style Sheet (CSS). So for now you can avoid it.
The value of the attribute may also be a space-separated list of class names. For example:
The style attribute allows you to specify CSS rules within the element. For example:
Internationalization Attributes:
There are three internationalization attributes, which are available to most (although
not all) XHTML elements.
dir
lang
xml:lang
The dir attribute allows you to indicate to the browser the direction in which the
text should flow.The dir attribute can take one of two values, as you can see in the
table that follows:
17 | P a g
e
Value Meaning
18 | P a g
e
rtl Right to left (for languages such as Hebrew or Arabic that are read right to left)
Example:
<html dir=rtl>
<head>
<title>Display Directions</title>
</head>
<body>
This is how IE 5 renders right-to-left directed text.
</body>
</html>
When dir attribute is used within the <html> tag, it determines how text will be
presented within the entire document. When used within another tag, it controls the
text's direction for just the content of that tag.
The lang attribute allows you to indicate the main language used in a document,
but this attribute was kept in HTML only for backwards compatibility with earlier
versions of HTML. This attribute has been replaced by the xml:lang attribute in new
XHTML documents.
When included within the <html> tag, the lang attribute specifies the language you've
generally used within the document. When used within other tags, the lang
attribute specifies the language you used within that tag's content. Ideally, the browser
will use lang to better render the text for the user.
The values of the lang attribute are ISO-639 standard two-character language
codes.Check HTML Language Codes: ISO 639 for a complete list of language codes.
Example:
<html lang=en>
<head>
<title>English Language Page</title>
</head>
<body>
This page is using English Language
</body>
</html>
The xml:lang attribute is the XHTML replacement for the lang attribute. The
value of the
xml:lang attribute should be an ISO-639 country code as mentioned in previous section.
Generic Attributes:
10 | P a g e
Here's a table of some other attributes that are readily usable with many of HTML's tags.
10 | P a g e
align right, left, center Horizontally aligns tags
We will see related examples as we will proceed to study other HTML tags.
For a complete list of HTML Tags and related attributes please check reference to
HTML Tags List.
If you want people to read what you have written, then structuring your text well is
even more important on the Web than when writing for print. People have trouble
reading wide, long, paragraphs of text on Web sites unless they are broken up well.
This section will teach you basic text formatting elements like heading elements and
paragraph elements.
Before you start to mark up your text, it is best to understand what HTML does when
it comes across spaces and how browsers treat long sentences and paragraphs of text.
You might think that if you put several consecutive spaces between two words, the
spaces would appear between those words onscreen, but this is not the case; by
default, only one space will be displayed. This is known as white space collapsing.
So you need to use special HTML tags to create multiple spaces.
Similarly, if you start a new line in your source document, or you have consecutive
11 | P a g e
empty lines, these will be ignored and simply treated as one space. So you need to use
special HTML tags to create more number of empty lines.
12 | P a g e
Create Headings - The <hn> Elements:
Any documents starts with a heading. You use different sizes for your headings. HTML
also have six levels of headings, which use the elements <h1>, <h2>, <h3>, <h4>,
<h5>, and <h6>. While displaying any heading, browser adds one line before and after
that heading.
Example:
This is heading 1
This is heading 2
This is heading 3
This is heading 4
This is heading 5
This is heading 6
The <p> element offers a way to structure your text. Each paragraph of text
should go in between an opening <p> and closing </p> tag as shown below in the
example:
13 | P a g e
You can use align attribute to align your paragraphs.
14 | P a g e
<p align="right">This is right aligned.</p>
<p align="justify">This is jutified. This works when you have multiple lines in your paragraph
and you want to justfy all the lines so that they can look more nice.</p>
This is jutified. This works when you have multiple lines in your paragraph and you want to
justfy all the lines so that they can look more nice.
Whenever you use the <br /> element, anything following it starts on the next line.
This tag is an example of an empty element, where you do not need opening and
closing tags, as there is nothing to go in between them.
Note: The <br /> element has a space between the characters br and the forward slash.
If you omit this space, older browsers will have trouble rendering the line break, while
if you miss the forward slash character and just use <br> it is not valid XHTML
Example:
Hello<br />
You come most carefully upon your hour.<br />
Thanks<br />
Mahnaz
Hello
Thanks
Mahnaz
15 | P a g e
You can use <center> tag to put any content in the center of the page or any table cell.
Example:
16 | P a g e
<p>This is not in the center.</p>
<center>
<p>This is in the center.</p>
</center>
Nonbreaking Spaces:
Suppose you were to use the phrase "12 Angry Men." Here you would not want a
browser to split the "12" and "Angry" across two lines:
A good example of this technique appears in the movie "12 Angry Men."
In cases where you do not want the client browser to break text, you should use a
nonbreaking space entity ( ) instead of a normal space. For example, when
coding the "12 Angry Men" paragraph, you would use something similar to the
following code:
Soft Hyphens:
<p style="text-align: justify;"> The morbid fear of the number 13, or triskaidekaphobia, has
plagued some important historic figures like Mahamiya and Nanao.</p>
In cases where you want a client browser to be able to hyphenate a word if necessary,
use the soft hyphen entity (­) to specify where a word should be hyphenated. So
above example should be written as follows:
<p style="text-align: justify;"> Example for soft hyphen - The morbid fear of the number 13, or
tri­skai­deka­phobia, has plagued some important historic figures like Mahamiya
and Nanao.</p>
18 | P a g e
Preserve Formatting - The <pre> Element:
Sometimes you want your text to follow the exact format of how it is written in
the HTML document. In those cases, you can use the preformatted tag (<pre>).
Any text between the opening <pre> tag and the closing </pre> tag will
preserve the formatting of the source document.
<pre>
function testFunction( strText ){
alert (strText)
}
</pre>
Horizontal rules are used to visually break up sections of a document. The <hr> tag
creates a line from the current position in the document to the right margin and breaks
the line accordingly.
For example you may want to give a line between two paragraphs as follows:
Again <hr /> tag is an example of an empty element, where you do not need opening
and closing tags, as there is nothing to go in between them.
Note: The <hr /> element has a space between the characters br and the forward slash.
If you omit this space, older browsers will have trouble rendering the line break, while
if you miss the forward slash character and just use <hr> it is not valid XHTML
19 | P a g e
To Become more comfortable
20 | P a g e
Presentational Tags:
If you use a word processor, you are familiar with the ability to make text bold,
italicized, or underlined; these are just three of the ten options available to indicate
how text can appear in HTML and XHTML.
Anything that appears in a <b>...</b> element is displayed in bold, like the word bold here:
Anything that appears in a <i>...</i> element is displayed in italicized, like the word
italicized here:
21 | P a g e
To Become more comfortable
22 | P a g e
Anything that appears in a <strike>...</strike> element is displayed with
strikethrough, which is a thin line through the text:
The content of a <tt> element is written in monospaced font. Most fonts are known as
variable- width fonts because different letters are of different widths (for example, the
letter m is wider than the letter i). In a monospaced font, however, each letter is the
same width.
The content of a <sup> element is written in superscript; the font size used is the same
size as the characters surrounding it but is displayed half a character.s height above the
other characters.
superscript
The following word uses a typeface.
The content of a <sub> element is written in subscript; the font size used is the same
23 | P a g e
as the characters surrounding it, but is displayed half a character.s height beneath the
other characters.
24 | P a g e
This will produce following result:
The content of the <big> element is displayed one font size larger than the rest of
the text surrounding it.
The content of the <small> element is displayed one font size smaller than the rest of
the text surrounding it.
The <div> and <span> elements allow you to group together several elements to
create sections or subsections of a page.
For example, you might want to put all of the footnotes on a page within a <div>
element to indicate that all of the elements within that <div> element relate to the
footnotes. You might then attach a style to this <div> element so that they appear using
a special set of style rules.
25 | P a g e
<div id="menu" align="middle" >
<a href="/index.htm">HOME</a> |
<a href="/about/contact_us.htm">CONTACT</a> |
<a href="/about/index.htm">ABOUT</a>
</div>
26 | P a g e
<div id="content" align="left" bgcolor="white">
<h5>Content Articles</h5>
<p>Actual content goes here.....</p>
</div>
Content Articles
The <span> element, on the other hand, can be used to group inline elements only. So,
if you had a part of a sentence or paragraph you wanted to group together you could
use the <span> element.
This is the example of span tag and the div tag alongwith CSS
These tags are commonly used with CSS to allow you to attach a style to a section of
a page.
While some of these phrase elements are displayed in a similar manner to the <b>,
<i>,
<pre>, and <tt> elements you have already seen, they are designed for specific
purposes. For example, the <em> and <strong> elements give text emphasis and
strong emphasis respectively and there are several elements for marking up quotes.
27 | P a g e
This will produce following result:
28 | P a g e
You must remember to close elements in XHTML.
The <strong> element is intended to show strong emphasis for its content; stronger
emphasis than the <em> element. As with the <em> element, the <strong> element
should be used only when you want to add strong emphasis to part of a document.
You can indicate when you are using an abbreviated form by placing the
abbreviation between opening <abbr> and closing </abbr> tags.
The <acronym> element allows you to indicate that the text between an opening
<acronym> and closing </acronym> element is an acronym.
When possible use a title attribute whose value is the full version of the acronyms
on the
<acronym> element, and if the acronym is in a different language, include an xml:lang
attribute in XHTML documents.
20 | P a g e
This chapter covers marking up text in XHTML.
20 | P a g e
At present, the major browsers do not change the appearance of the content of the
<acronym> element.
The <dfn> element allows you to specify that you are introducing a special term.
Its use is similar to the words that are in italics in the midst of paragraphs in this
book when new key concepts are introduced.
Typically, you would use the <dfn> element the first time you introduce a key term and
only in that instance. Most recent browsers render the content of a <dfn> element in an
italic font.
<p>This tutorial teaches you how mark up your documents for the web using
<dfn>XHTML</dfn>.</p>
This tutorial teaches you how mark up your documents for the web using XHTML.
When you want to quote a passage from another source, you should use the
<blockquote> element.
Text inside a <blockquote> element is usually indented from the left and right
edges of the surrounding text, and sometimes uses an italicized font.
<p>The following description of XHTML is taken from the W3C Web site:</p>
<blockquote> XHTML 1.0 is the W3C's first Recommendation for XHTML, following on from
earlier work on HTML 4.01, HTML 4.0, HTML 3.2 and HTML 2.0. </blockquote>
The following description of XHTML is taken from the W3C Web site:
XHTML 1.0 is the W3C's first Recommendation for XHTML, following on from earlier work on
HTML 4.01, HTML 4.0, HTML 3.2 and HTML 2.0.
You can use the cite attribute on the <blockquote> element to indicate the source of the
quote.
21 | P a g e
<p>The following description of XHTML is taken from the W3C Web site:</p>
22 | P a g e
and HTML 2.0. </blockquote>
The <q> element is intended to be used when you want to add a quote within a
sentence rather than as an indented block on its own.
The <q> element can also carry the cite attribute. The value should be a URL
pointing to the source of the quote.
If you are quoting a text, you can indicate the source placing it between an opening
<cite> tag and closing </cite> tag
As you would expect in a print publication, the content of the <cite> element is
rendered in italicized text by default.
<p>This HTML Tutorial is derived from <cite>World Wide Web Standard for HTML</cite>.</p>
This HTML Tutorial is derived from World Wide Web Standard for HTML.
Any code to appear on a Web page should be placed inside a <code> element.
Usually the content of the <code> element is presented in a monospaced font, just
like the code in most programming books.
23 | P a g e
Keyboard Text - The <kbd> Element :
When you are talking about computers, if you want to tell a reader to enter some text,
you can use the <kbd> element to indicate what should be typed in, as in this
example.
This element is usually used in conjunction with the <pre> and <code> elements to
indicate that the content of that element is a variable that can be supplied by a user.
<p><code>document.write("<var>user-name</var>")</code></p>
document.write("user-name")
The <samp> element indicates sample output from a program, script, or the like.
Again, it is mainly used when documenting programming concepts. For example:
24 | P a g e
<address>304, Menna Colony, Hyderabad - INDIA, 500032</address>
The elements which we have not discussed till now, will be discussed in subsequent
chapters.
HTML Comments
Comments are piece of code which is ignored by any web browser. It is good
practice to comment your code, especially in complex documents, to indicate sections
of a document, and any other notes to anyone looking at the code. Comments help you
and others understand your code.
HTML Comment lines are indicated by the special beginning tag <!-- and ending tag -
-> placed at the beginning and end of EVERY line to be treated as a comment.
Comments do not nest, and the double-dash sequence "--" may not appear inside a
comment except as part of the closing --> tag. You must also make sure that there are
no spaces in the start-of-comment string.
But following line is not a valid comment and will be displayed by the borwser. This
is because there is a space between the left angle bracket and the exclamation mark.
25 | P a g e
< !-- This is commented out -->
Be careful if you use comments to "comment out" HTML that would otherwise be
shown to the user, since some older browsers will still pay attention to angle brackets
inside the comment and close the comment prematurely -- so that some of the text
that was supposed to be inside the comment mistakenly appears as part of the document.
26 | P a g e
Multiline Comments:
You have seen how to comment a single line in HTML. You can comment multiple
lines by the special beginning tag <!-- and ending tag --> placed before the first line
and end of the lastline to be treated as a comment.
For example:
<!--
This is a multiline comment <br />
and can span through as many as lines you like.
-->
Conditional Comments :
Conditional comments only work in Explorer on Windows, and are thus excellently
suited to give special instructions meant only for Explorer on Windows. They are
supported from Explorer 5 onwards, and it is even possible to distinguish between 5.0,
5.5 and 6.0.
<!--[if IE 6]>
Special instructions for IE 6 here
<![endif]-->
Their basic structure is the same as an HTML comment (<!-- -->). Therefore
all other browsers will see them as normal comments and will ignore them
entirely.
Explorer Windows, though, has been programmed to recognize the special <!-
-[if IE]> syntax, resolves the if and parses the content of the conditional
comment as if it were normal page content.
Since conditional comments use the HTML comment structure, they can only
be included in HTML files, and not in CSS files.
There are few browsers who supports <comment> tag to comment a part of code.
If you are using Java Script or VB Script in your HTML code then it is recommended
to put that script code inside proper HTML Comments to make old browser works
properly.
For example:
27 | P a g e
<script>
<!--
document.write("Hello World!")
//-->
</script>
28 | P a g e
Similarly if you are using Casecading Style Sheet in your HTML code then it is
recommended to put that style sheet code inside proper HTML Comments to make
old browser works properly.
For example:
<style>
<!--
img{
border:0px;
}
//-->
</style>
NOTE: To become familiar with JAVA Script and Cascading Style Sheet you
need to refer different tutorial.
HTML Fonts
Font face and color depends entirely on the computer and browser that is being used
to view your page. But the <font> tag is used to add style, size, and color to the text
on your site. You can use a <basefont> tag to set all of your text to the same size, face,
and color.
The font tag is having three attributes called size, color, and face to customize your fonts.
To change any of the font attributes at any time within your page, simply use the
<font> tag. The text that follows will remain changed until you close with the </font>
tag. You can change any or all of the font attributes at the one time, by including all
the required changes within the one <font> tag.
NOTE: The font and basefont tags are deprecated and it is supposed to be
removed in a future version of HTML. So it should not be used. Its is suggested to
use css styles to manipulate your font.
Font Size:
You can set the size of your font with size attribute. The range of accepted values
is from 1(smallest) to 7(largest). The default size of a font is 3.
Example:
29 | P a g e
This will produce following result:
Font size="1"
Font size="2"
30 | P a g e
Font size="3"
Font size="4"
Font size="5"
Font size="6"
Font size="7"
SPECIFY THE RELATIVE FONT SIZE. <font size="+n"> or <font
size="-n">: You can specify how many sizes larger or how many sizes smaller
than the preset font size should be.
Example:
Font size="-1"
Font size="+1"
Font size="+2"
Font size="+3"
Font size="+4"
Font Face:
You can set any font you like using face attribute but be aware that if the user viewing
the page doesn't have the font installed, they will not be able to see it. Instead they will
default to Times New Roman of your font with size attribute. See below few examples
on using different font face
Example:
31 | P a g e
<font face="Times New Roman" size="5">Times New Roman</font>
<font face="Verdana" size="5">Verdana</font>
<font face="Comic sans MS" size="5">Comic Sans MS</font>
<font face="WildWest" size="5">WildWest</font>
32 | P a g e
<font face="Bedrock" size="5">Bedrock</font>
A visitor will only be able to see your font if they have that font installed on their
computer. So, it is possible to specify two or more font face alternatives by listing
the font face names, separated by a comma.
Example:
<font face="arial,helvetica">
<font face="Lucida Calligraphy,Comic Sans MS,Lucida Console>
When your page is loaded, their browser will display the first font face that it has
available. If none of your selections are installed....then it will display the default
font face Times New Roman.
Font Color:
You can set any font color you like using color attribute. You can specify the color that
you want by either the color name or hexadecimal code for that color. Check a
complete list of HTML
Example:
33 | P a g e
This text is hexcolor #FF00FF
This text is red
34 | P a g e
The <basefont> Element:
The <basefont> element is supposed to set a default font size, color, and typeface for
any parts of the document that are not otherwise contained within a <font> element.
You can then use the <font> elements to override the <basefont> settings.
The attributes that the <basefont> element takes are exactly the same as for the
<font> element. You can also set the size of fonts relative to the size of the <basefont>
by giving them a value of +1 for a size larger or -2 for two sizes smaller
NOTE: This element is deprecated in HTML 4 and will be removed from HTML,
the preferred option is to use CSS styles. Your browser may not have support for this
tag.
Example:
<basefont face="arial, verdana, sans-serif" size="2" color="#ff0000">
<p>This is the page's default font.</p>
<h2>Example of the <basefont> Element</h2>
<p><font size="+2" color="darkgray">Here is some darkgray text
two sizes larger</font></p>
<p><font face="courier" size="-1" color="#000000">Here is a courier
font, a size smaller, in black</font></p>
As you can see, the default font now takes on the properties specified in the
<basefont> element. It is red, size 2, and uses the Arial typeface.
The paragraph after the <h2> element uses a font size two sizes larger than the default
size and is gray text, whereas the following paragraph uses a font one size smaller than
the default font. You can also see that the color of this font is black (overriding the
default).
HTML Images
Images are very important to beautify as well as to depicts many concepts on your
web page. Its is true that one single image is worth than thuasands of words. So as a
Web Developer you should have clear understanding on how to use images in your web
35 | P a g e
pages.
You will insert any image in your web page by using <img> tag. Following is the
simple syntax to use this tag.
36 | P a g e
<img src="image URL" attr_name="attr_value"...more attributes />
Image Attributes:
width: sets width of the image. This will have a value like 10 or 20%etc.
height: sets height of the image. This will have a value like 10 or 20% etc.
border: sets a border around the image. This will have a value like 1 or 2 etc.
src: specifies URL of the image file.
alt: this is an alternate text which will be displayed if image is missing.
align: this sets horizontal alignment of the image and takes value either left,
right or
center.
valign: this sets vertical alignment of the image and takes value either top,
bottom or
center.
hspace: horizontal space around the image. This will have a value like 10 or
20%etc.
vspace: vertical space around the image. This will have a value like 10 or
20%etc.
name: name of the image with in the document.
id: id of the image with in the document.
style: this will be used if you are using CSS.
title: specifies a text title. The browser, perhaps flashing the title when the
mouse passes over the link.
ismap and usemap: These attributes for the <img> tag tell the browser that
the image is a special mouse-selectable visual map of one or more hyperlinks,
commonly known as an image map. We will see how to use these attributes
in Image Links chapter.
A Simple Example:
<img src="http://www.tutorialspoint.com/images/html.gif"
alt="HTML Tutorial" width="100" height="100"
30 | P a g e
border="2" align="right" title="HTML Tutorial" />
Remember that all the images will have a border by default. In our examples its not
showing because our global style sheet has set img {border:0px;} which means that
no border will be displayed till it is mentioned explicitly.
You can remove an image border by setting border="0" or through CSS by setting
img
{border:0px;}.
Example 1:
<p>This is the first paragraph that appears above the paragraph with the image!</p>
The image will appear along the right hand side of the paragraph. As you can see this is very
nice for adding a little eye candy that relates to the specified paragraph.</p>
<p>The left and right image-alignment values tell the browser to place an image against the
left or right margin, respectively, of the current text flow. The browser then renders subsequent
document content in the remaining portion of the flow adjacent to the image. The net result is
that the document content following the image gets wrapped around the image. </p>
31 | P a g e
This is the first paragraph that appears above the paragraph with the image!
The image will appear along the right hand side of the paragraph. As you can see
this is very nice for adding a little eye candy that relates to the specified paragraph.
The left and right image-alignment values tell the browser to place an image
against the left or right margin, respectively, of the current text flow. The browser
then renders subsequent document content in the remaining portion of the flow adjacent to the
image. The net result is that the document content following the image gets wrapped around
the image.
32 | P a g e
Example 2:
You can use vspace or hspace attributes if you want to keep some distance between
text and image. Let us revise above example:
<p>This is the first paragraph that appears above the paragraph with the image!</p>
The image will appear along the right hand side of the paragraph. As you can see this is very
nice for adding a little eye candy that relates to the specified paragraph.</p>
<p>The left and right image-alignment values tell the browser to place an image against the
left or right margin, respectively, of the current text flow. The browser then renders subsequent
document content in the remaining portion of the flow adjacent to the image. The net result is
that the document content following the image gets wrapped around the image. </p>
This is the first paragraph that appears above the paragraph with the image!
The image will appear along the right hand side of the paragraph. As you can
see this is very nice for adding a little eye candy that relates to the specified
paragraph.
The left and right image-alignment values tell the browser to place an image
against the left or right margin, respectively, of the current text flow. The
browser then renders subsequent document content in the remaining portion of the flow
adjacent to the image. The net result is that the document content following the image gets
wrapped around the image.
Web pages can contain links that take you directly to other pages and even specific
parts of a given page. These links are known as hyperlinks.
In this tutorial you will learn how to create text links between the different pages of
your site, links within pages of your sites, and how to link to other sites ( or external
sites). If you want to know more about URL then
A link is specified using the <a> element. This element is called anchor tag as well.
Anything between the opening <a> tag and the closing </a> tag becomes part of the
link and a user can click that part to reach to the linked document.
33 | P a g e
Following is the simple syntax to use this tag.
34 | P a g e
<a href="Document URL" attr_name="attr_value"...more attributes />
Anchor Attributes:
href: specifies the URL of the target of a hyperlink. Its value is any valid
document URL, absolute or relative, including a fragment identifier or a
JavaScript code fragment.
target: specify where to display the contents of a selected hyperlink. If set to
"_blank" then a new window will be opened to display the loaded page, if
set to "_top" or "_parent" then same window will be used to display the
loaded document, if set to "_self" then loads the new page in current window.
By default its "_self".
name & id: attributes places a label within a document. When that label is
used in a link to that document, it is the equivalent of telling the browser to goto
that label.
event: attributes like onClick, onMouseOver etc. are used to trigger any
Javascript ot VBscript code.
title: attribute lets you specify a title for the document to which you are
linking. The value of the attribute is any string, enclosed in quotation marks.
The browser might use it when displaying the link, perhaps flashing the title
when the mouse passes over the link.
accesskey: attribute attribute provides a keyboard shortcut that can be used to
activate a link. For example, you could make the T key an access key so that
when the user presses either the Alt or Ctrl key on his keyboard (depending
on his operating system) along with the T key, the link gets activated.
A Simple Example:
This will produce following result, Click and come back to proceed with rest of the
tutorial:
It is not required to give a complete URL for every link. You can get rid of it if you
will use
<base> tag in your header. This tag is used to give a base path for all the links.
So your browser will concatenate given relative path to this base path and will make a
complete URL.
35 | P a g e
For example we have used following base tag in all the pages at tutorialspoint.com:
<head>
<base href="http://www.tutorialspoint.com/">
</head>
36 | P a g e
Linking to a Page Section:
You can create a link to a particular section of a page by using name attribute.
Here we will create three links with-in this page itself.
First create a link to reach to the top of this page. Here is the code we have used for
the title heading HTML Text Links
Now you have a place where you can reach. To reach to this place use the following
code with- in this document anywhere:
This will produce following link and you try using this link to reach to the top of this
page:
Go to the Top
NOTE: Here we are using relative path. You can give complete URL and then # and
then link name eg. http://www.tutorialspoint.com/html/html_text_links.htm#top
You can use this type of URL in any other page to reach directly to a particular section.
You can set colors of your links, active links and visited links using link, alink
and vlink attributes of <body> tag. But it is recommended to use CSS to set colors of
links, visited links and active links.
Following is the example we have used for our web side tutorialspoint.com
You can refer to Style Sheet Tutorial for a complete understanding on CSS.
Otherwise you can use <body> tag to set link colors. Here is the syntax.
37 | P a g e
<body alink="#FF0000" link="#900B09" vlink="#900B09">
.......
</body>
You can create text link to make your PDF, or DOC or ZIP files downloadable.
This is very simple, you just need to give complete URL of the downloadable file as
follows:
38 | P a g e
<a href="http://www.example.com/file.pdf">Download File</a>
This will produce following link and will be used to download a file.
Download File
You can not make an image download able until you follow the following procedure.
Sometime it is desired that you want to give option where a use will click a link and
it will pop up a "File Download" box to the user in stead of displaying actual content.
This is very easy and will be achived through HTTP header.
This HTTP header will be different from the header mentioned in previous section.
For example,if you want make a FileName file downloadable from a given link then
its syntax will be as follows.
#!/usr/bin/perl
# HTTP Header
print "Content-Type:application/octet-stream; name=\"FileName\"\r\n";
print "Content-Disposition: attachment; filename=\"FileName\"\r\n\n";
Previous chapters has tought you how to create hyper text link using text and how
to use images in your web page. Now we will learn how to use images to create
hyper links. See example below:
39 | P a g e
40 | P a g e
This was the simpletest way of creating hyperlinks using images. Next we will see
how we can create Mouse-Sensitive Image Links.
Mouse-Sensitive Images:
The HTML and XHTML standards provide a feature that lets you embed many
different links inside the same image. Clicking different areas of the image causes
the browser to link to different target documents. Such mouse-sensitive images known
as image maps.
A server-side image maps: is enabled by the ismap attribute for the <img>
tag and requires access to a server and related image-map processing
applications.
A client-side image maps: is created with the usemap attribute for the
<img> tag, along with corresponding <map> and <area> tags.
You add an image to an anchor simply by placing an <img> tag within the body of the
<a> tag. Make that embedded image into a mouse-sensitive one by adding the ismap
attribute to the
<img> tag. This special <img> attribute tells the browser that the image is a special
map containing more than one link.
When the user clicks some place within the image, the browser passes the coordinates
of the mouse pointer along with the URL specified in the <a> tag to the document
server. The server uses the mouse-pointer coordinates to determine which document
to deliver back to the browser.
When ismap is used, the href attribute of the containing <a> tag must contain the
URL of a server application like amap file or cgi script etc. to process the incoming
request based on the passed coordinates.
The coordinates of the mouse position are screen pixels counted from the upper-left
corner of the image, beginning with (0,0). The coordinates, preceded by a question
mark, are added to the end of the URL.
For example, if a user clicks 50 pixels over and 30 pixels down from the upper-left
corner of the image displayed from the following link:
Then the browser sends the following search parameters to the HTTP server
which can be processed by cgi script or map file and you can link whatever you like
to these coordinates:
41 | P a g e
/cgi-bin/logo.map?50,30
42 | P a g e
Client-Side Image Maps:
Client side image maps are enabled by the usemap attribute for the <img /> tag and
defined by special <map> and <area> extension tags.
The image that is going to form the map is inserted into the page using the <img />
element as normal, except it carries an extra attribute called usemap. The value of the
usemap attribute is the value of the name attribute on the <map> element, which you
are about to meet, preceded by a pound or hash sign.
The <map> element actually creates the map for the image and usually follows
directly after the <img /> element. It acts as a container for the <area /> elements that
actually define the clickable hotspots. The <map> element carries only one attribute,
the name attribute, which is the name that identifies the map. This is how the <img
/> element knows which <map> element to use.
The <area> element specifies the shape and the coordinates that define the boundaries
of each clickable hotspot. Here's an example from the image map:
The actual value of coords is totally dependent on the shape in question. Here is a
summary, to be followed by detailed examples:
rect = x1 , y1 , x2 , y2
x1 and y1 are the coordinates of the upper left corner of the rectangle; x2 and
y2 are the coordinates of the lower right corner. Therefore, a rectangle which
goes from 10,5 to 20,25 would have the attribute coords="10,5,20,25". A
rectangle which defines the upper-left quarter of an image might use
coords="0,0,50%,50%".
circle = xc , yc , radius
xc and yc are the coordinates of the center of the circle, and radius is the
circle's radius. A circle centered at 200,50 with a radius of 25 would have the
43 | P a g e
attribute coords="200,50,25"; one centered at the image's center and having a
diameter of half the image would be defined by coords="50%,50%,25%".
poly = x1 , y1 , x2 , y2 , x3 , y3 , ... xn , yn
The various x-y pairs define vertices (points) of the polygon, with a "line"
being drawn from one point to the next point. A diamond-shaped polygon
with its top point at 20,20 and 40 pixels across at its widest points would have
the attribute
44 | P a g e
coords="20,20,40,40,20,60,0,40". A "line" is always drawn from the
coordinates of the last point to the coordinates of the first point in order to
close the polygon.
All coordinates are relative to the upper-left corner of the image (0,0). Each shape has
a related URL.You can use any image software to know the coordinates of different
positions.
HTML Tables
Tables are very useful to arrange in HTML and they are used very frequently by almost
all web developers. Tables are just like spreadsheets and they are made up of rows and
columns.
You will create a table in HTML/XHTML by using <table> tag. Inside <table> element
the table is written out row by row. A row is contained inside a <tr> tag . which stands
for table row. And each cell is then written inside the row element using a <td> tag .
which stands for table data.
Example:
<table border="1">
<tr>
<td>Row 1, Column 1</td>
<td>Row 1, Column 2</td>
</tr>
<tr>
<td>Row 2, Column 1</td>
<td>Row 2, Column 2</td>
</tr>
</table>
Row 1, Row 1,
Column 1 Column 2
Row 2, Row 2,
Column 1 Column 2
NOTE: In the above example border is an attribute of <table> and it will put border
across all the cells. If you do not need a border then you cal use border="0". The
border attribute and other attributes also mentione din this session are deprecated and
they have been replaced by CSS. So it is recommended to use CSS instead of using
any attribute directly.
Table heading can be defined using <th> element. This tag will be put to replace
45 | P a g e
<td> tag which is used to represent actual data. Normally you will put your top row
as table heading as shown below, otherwise you can use <th> element at any place:
<table border="1">
<tr>
<th>Name</th>
<th>Salary</th>
</tr>
46 | P a g e
<tr>
<td>Ramesh Raman</td>
<td>5000</td>
</tr>
<tr>
<td>Shabbir Hussein</td>
<td>7000</td>
</tr>
</table>
This will produce following result. You can see its making heading as a bold one:
Name Salar
y
Ramesh 5000
Raman
Shabbir 7000
Hussein
NOTE: Each cell must, however, have either a <td> or a <th> element in order for the
table to display correctly even if that element is empty.
There are two attribiutes called cellpadding and cellspacing which you will use to
adjust the white space in your table cell. Cellspacing defines the width of the border,
while cellpadding represents the distance between cell borders and the content within.
Following is the example:
Name Salar
y
47 | P a g e
Ramesh 5000
Raman
Shabbir 7000
Hussein
48 | P a g e
Colspan and Rowspan Attributes:
You will use colspan attribute if you want to merge two or more columns into a single
column. Similar way you will use rowspan if you want to merge two or more rows.
Following is the example:
<table border="1">
<tr>
<th>Column 1</th>
<th>Column 2</th>
<th>Column 3</th>
</tr>
<tr><td rowspan="2">Row 1 Cell 1</td>
<td>Row 1 Cell 2</td><td>Row 1 Cell 3</td></tr>
<tr><td>Row 2 Cell 2</td><td>Row 2 Cell 3</td></tr>
<tr><td colspan="3">Row 3 Cell 1</td></tr>
</table>
Tables Backgrounds
You can set table background using of the following two ways:
Using bgcolor attribute - You can set background color for whole table or
just for one cell.
Using background attribute - You can set background image for whole table
or just for one cell.
40 | P a g e
<table border="5" bordercolor="green" bgcolor="gray">
<tr>
<th>Column 1</th>
<th>Column 2</th>
<th>Column 3</th>
</tr>
<tr><td rowspan="2">Row 1 Cell 1</td>
<td bgcolor="red">Row 1 Cell 2</td><td>Row 1 Cell 3</td></tr>
40 | P a g e
<tr><td>Row 2 Cell 2</td><td>Row 2 Cell 3</td></tr>
<tr><td colspan="3">Row 3 Cell 1</td></tr>
</table>
You can set a table width and height using width and height attrubutes. You can
specify table width or height in terms of integer value or in terms of percentage of
available screen area. Following is the example:
41 | P a g e
<table border="1" width="400" height="150">
<tr>
<td>Row 1, Column 1</td>
<td>Row 1, Column 2</td>
</tr>
<tr>
<td>Row 2, Column 1</td>
<td>Row 2, Column 2</td>
</tr>
</table>
The caption tags will serve as a title or explanation and show up at the top of the table.
This tag is depracated in newer version of HTML/XHTML.
<table border="1">
<caption>This is the caption</caption>
<tr>
<td>row 1, column 1</td><td>row 1, columnn 2</td>
</tr>
</table>
Tables can be divided into three portions: a header, a body, and a foot. The head and
foot are rather similar to headers and footers in a word-processed document that
remain the same for every page, while the body is the main content of the table.
The three elements for separating the head, body, and foot of a table are:
42 | P a g e
A table may contain several <tbody> elements to indicate different pages or groups of
data. But it is notable that <thead> and <tfoot> tags should appear before <tbody>
43 | P a g e
<table border="1" width="100%">
<thead>
<tr>
<td colspan="4">This is the head of the table</td>
</tr>
</thead>
<tfoot>
<tr>
<td colspan="4">This is the foot of the table</td>
</tr>
</tfoot>
<tbody>
<tr>
<td>Cell 1</td>
<td>Cell 2</td>
<td>Cell 3</td>
<td>Cell 4</td>
</tr>
<tr>
...more rows here containing four cells...
</tr>
</tbody>
<tbody>
<tr>
<td>Cell 1</td>
<td>Cell 2</td>
<td>Cell 3</td>
<td>Cell 4</td>
</tr>
<tr>
...more rows here containing four cells...
</tr>
</tbody>
</table>
Nested Tables:
You can use one table inside another table. Not only tables you can use almost all
the tags inside table data tag <td>.
44 | P a g e
Following is the example of using another table and other tags inside a table cell.
<table border="1">
<tr>
<td>
<table border="1">
<tr>
<th>Name</th>
<th>Salary</th>
</tr>
<tr>
<td>Ramesh Raman</td>
<td>5000</td>
</tr>
<tr>
<td>Shabbir Hussein</td>
<td>7000</td>
</tr>
</table>
</td>
<td>
<ul>
<li>This is another cell</li>
<li>Using list inside this cell</li>
</ul>
</td>
</tr>
<tr>
<td>Row 2, Column 1</td>
<td>Row 2, Column 2</td>
</tr>
</table>
HTML Colors
Colors are very important to give a good look and feel to your website. You can
specify colors on page level using <body> tag or you can set colors for individual
tags.
The <body> tag has following attributes which can be used to set different colors:
There are following three different methods to set colors in your web page:
Color names: You can specify color names directly like green, blue or red.
Hex codes: A six-digit code representing the amount of red, green, and blue
that make up the color.
Color decimal or percentage values: : This value is specified using the
rgb( ) property.
You can sepecify direct a color name to set text or background color. W3C has listed
16 basic color names that will validate with an HTML validator but there are over
200 different color names supported by Netscape and IE. Check a complete list of
HTML Color Name.
Here is the list of W3C Standard 16 Colors names and it is recommended to use them.
A hexadecimal value can be taken from any graphics software like Adobe
Photoshop, Jasc Paintshop Pro or even using Advanced Paint Brush.
Each hexadecimal code will be preceded by a pound or hash sign #. Following are the
examples to use Hexadecimal notation.
46 | P a g e
Color Color HEX
47 | P a g e
#000000
#FF0000
#00FF00
#0000FF
#FFFF00
#00FFFF
#FF00FF
#C0C0C0
#FFFFFF
This color value is specified using the rgb( ) property. This property takes three
values, one each for red, green, and blue. The value can be an integer between 0 and
255 or a percentage.
NOTE: All the browsers does not support rgb() property of color so it is
recommended not to use it.
rgb(0,0,0)
rgb(255,0,0)
rgb(0,255,0)
rgb(0,0,255)
rgb(255,255,0)
rgb(0,255,255)
48 | P a g e
rgb(255,0,255)
rgb(192,192,192)
rgb(255,255,255)
You can build millions of color codes using our Color Code Builder.
Browser Safe Colors:
Here is the list of 216 colors which are supposed to be most safe and computer
independent colors. These colors very from hexa code 000000 to FFFFFF. These color
are safe to use because they ensure that all computers would display the colors
correctly when running a 256 color palette:
49 | P a g e
663300 663333 663366 663399 6633CC 6633FF
50 | P a g e
FFFF00 FFFF33 FFFF66 FFFF99 FFFFCC
HTML Forms
HTML Forms are required when you want to collect some data from the site visitor.
For example registration information: name, email address, credit card, etc.
A form will take input from the site visitor and then will post your back-end application
such as CGI, ASP Script or PHP script etc. Then your back-end application will do
required processing on that data in whatever way you like.
Form elements are like text fields, textarea fields, drop-down menus, radio buttons,
checkboxes, etc. which are used to take information from the user.
There are different types of form controls that you can use to collect data from a
visitor to your site.
52 | P a g e
Single-line text input controls: Used for items that require only one line
of user input, such as search boxes or names. They are created using the
<input> element.
Password input controls: Single-line text input that mask the characters
a user enters.
Multi-line text input controls: Used when the user is required to give
details that may be longer than a single sentence. Multi-line input controls
are created with the
<textarea> element.
Single-line text input controls are created using an <input> element whose type
attribute has a value of text.
Here is a basic example of a single-line text input used to take first name and last name:
First name:
Last name:
submit
type: Indicates the type of input control you want to create. This element is
also used to create other form controls such as radio buttons and checkboxes.
name: Used to give the name part of the name/value pair that is sent to the
server, representing each form control and the value the user entered.
value: Provides an initial value for the text input control that the user will see
when the form loads.
size: Allows you to specify the width of the text-input control in terms of
characters.
maxlength: Allows you to specify the maximum number of characters a user
can enter into the text box.
This is also a form of single-line text input controls are created using an <input>
50 | P a g e
element whose type attribute has a value of password.
Here is a basic example of a single-line password input used to take user password:
50 | P a g e