HTML Notes
HTML Notes
HTML Notes
HTML 5
Basic Tutorials
Contents
HTML Introduction 2
HTMLQuotation and CitationElements-----------------------------------------------------17
HTML Colors 19
HTML Links 35
HTML Images 40
HTML Tables 43
HTML Lists 48
HTML Blockand Inline Elements 52
HTML The classAttribute 53
HTML The id Attribute 57
My Header 57
HTML Iframes 59
HTML File Paths 61
HTML Head 62
HTML Symbols 65
HTML Forms 69
HTML Form Elements 74
HTML Input Types 78
HTMLInput Attributes 86
1
HTML Introduction
What is HTML?
HTML is the standard markup language for creating Web pages.
2
Example Explained
• The <!DOCTYPE html> declaration defines this document to be HTML5
• The <html> element is the root element of an HTML page
• The <head> element contains meta information about the document
• The < t i t l e > element specifies a title for the document
• The <body> element contains the visible page content
• The <h1> element defines a large heading
• The <p> element defines a paragraph
HTML Tags
HTML tags are element names surrounded by angle brackets:
Tip: The start tag is also called the opening tag, and the end tag the closing tag.
3
The<!DOCTYPE>Declaration
The <!DOCTYPE> declaration represents the document type, and helps browsers to
display web pages correctly.
It must only appear once, at the top of the page (before any HTML tags).
HTMLHeadings
HTML headings are defined with the <h1> to <h6> tags.
<h1> defines the most important heading. <h6> defines the least important heading:
4
PCISS
HTML Paragraphs
HTML paragraphs are defined with the <p> tag:
HTML Links
HTML links are defined with the <a> tag:
5
<Html>
<Head>
<title> This is Link Page</title>
</Head>
<body>
<a href=“”>This is Link Tag</a>
</body>
</Html>
HTML Images
HTML images are defined with the <img> tag.
The source file ( src ), alternative text ( alt ) , width , and height are provided as
attributes:
HTMLLists
HTML lists are defined with the <ul> (unordered/bullet list) or
the <ol>(ordered/numbered list) tag, followed by < l i > tags (list items):
6
Empty HTML Elements
HTML elements with no content are called empty elements.
<br> is an empty element without a closing tag (the <br> tag defines a line break):
Empty elements can be "closed" in the opening tag like this: <br />.
HTML5 does not require empty elements to be closed. But if you want stricter
validation, or if you need to make your document readable by XML parsers, you
must close all HTML elements properly.
HTML HorizontalRules
The <hr> tag defines a thematic break in an HTML page, and is most often displayed as a horizontal rule.
The <hr> element is used to separate content (or define a change) in an HTML page:
7
HTML IsNot CaseSensitive
HTML tags are not case sensitive: <P> means the same as <p>.
The HTML5 standard does not require lowercase tags, but
UPCISS recommends lowercase in HTML, and demands lowercase for stricter
document types like XHTML.
8
HTML TextFormattingElements
HTML also defines special elements for defining text with a special meaning.
HTML uses elements like <b> and <i> for formatting output, like bold or italic text.
9
HTML Attributes
• All HTML elements can have attributes
• Attributes provide additional information about an element
• Attributes are always specified in the start tag
• Attributes usually come in name/value pairs like: name="value"
Thehref Attribute
HTML links are defined with the <a> tag. The link address is specified in the h r e f
attribute:
Example
<a href="www.google.com">This i s a l i n k < / a >
ThesrcAttribute
HTML images are defined with the <img> tag.
Example
<img s r c = " i m g _ g i r l . j p g " >
Example
<img s r c = " i m g _ g i r l . j p g " width="500" height="600">
The width and height are is specified in pixels by default; so width="500" means
500 pixels wide.
You will learn more about images in our HTML Images chapter.
ThealtAttribute
The a l t attribute specifies an alternative text to be used, if an image cannot be
displayed.
10
The value of the a l t attribute can be read by screen readers. This way, someone
"listening" to the webpage, e.g. a vision impaired person, can "hear" the element.
Example
<img s r c = " i m g _ g i r l . j p g " a l t = " G i r l wit h a j a c k et ">
The a l t attribute is also useful if the image cannot be displayed (e.g. if it does not
exist):
ThestyleAttribute
The s t y l e attribute is used to specify the styling of an element, like color, font,
size etc.
Example
<p s t yl e = " col o r : re d" > T hi s i s a paragraph.</p>
You will learn more about styling later in this tutorial, and in our CSS Tutorial.
ThelangAttribute
The language of the document can be declared in the <html> tag.
<!DOCTYPE html>
<html lang="en-US">
<body>
...
</body>
</html>
The first two letters specify the language (en). If there is a dialect, add two more
letters (US).
ThetitleAttribute
Here, a t i t l e attribute is added to the <p> element. The value of the title attribute
will be displayed as a tooltip when you mouse over the paragraph:
11
Example
<p t i t l e = " I ' m a t o o l t i p " >
This i s a paragraph.
</p>
The title attribute can be written with uppercase or lowercase like title or TITLE.
Bad
<a href=https://www.Google.com>
Good
<a href="https://www.google.com">
Example
<p t i t l e = A b o u t >
12
In some situations, when the attribute value itself contains double quotes, it is
necessary to use single quotes:
Or vice versa:
Move your mouse over the paragraphs below to see the effect
13
HTML Display
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 any extra spaces and extra lines when the page is
displayed:
Problem
This poem will display on a single line:
The text inside a <pre> element is displayed in a fixed-width font (usually Courier),
and it preserves both spaces and line breaks:
14
TheHTML Style Attribute
Setting the style of an HTML element, can be done with the s ty l e attribute.
Background Color
The CSS background- colo r property defines the background color for an HTML
element.
Example
<body style="background-color:powderblue;">
<h1>This i s a heading</h1>
<p>This i s a paragraph.</p>
</body>
15
TextColor
The CSS c o l o r property defines the text color for an HTML element:
Example
<h1 s t yl e = " c o l o r : b l u e ; " >T h i s i s a heading</h1>
<p s t yl e = " c o l o r : r e d ; " >T h i s i s a paragraph.</p>
Fonts
The CSS f o n t - fa mi l y property defines the font to be used for an HTML element:
Example
<h1 s t yl e = "f o nt-f am i l y: ver d a na; " > Th i s i s a heading</h1>
<p s t y l e = " f o n t - f a m i l y : c o u r i e r ; " > T h i s i s a paragraph.</p>
16
TextSize
The CSS f o n t - s i ze property defines the text size for an HTML element:
Example
<h1 style="f ont-size:300%;"> This i s a heading</h1>
<p style="f ont-size:160%;"> This i s a paragraph.</p>
Text Alignment
The CSS t e x t - a li gn property defines the horizontal text alignment for an HTML
element:
Example
<h1 s t yl e = " te xt- al i g n: c ent e r ;" > C e nt er e d Heading</h1>
<p s t y l e = " t e x t - a l i g n : l e f t ; " > l e f t paragraph.</p>
17
Example
<p>WWF's goal i s t o : <q>Build a f u t u r e where people l i v e i n harmony wit h
nature.</q></p>
Example
<p>Here i s a quote from WWF's website:</p>
<blockquote>
For 50 years, WWF has been p r o t ect i n g the f u t u r e o f nat ur e.
The wo r l d ' s leading conservation o r g a ni za t i o n,
WWF works i n 100 count ries and i s supported by
1.2 m i l l i o n members i n the United States and
close t o 5 m i l l i o n g l o b a l l y .
</blockquote>
Example
<p>The <abbr t i t l e = " W o r l d Health Organization">WHO</abbr> was founded i n
1948.</p>
The <addre ss> element is usually displayed in italic. Most browsers will add a line
break before and after the element.
18
Example
<address>
W ritten by John Doe.<br>
V i s i t us at : <br>
Example.com<br>
Box 564, Disneyland<br>
USA
</address>
Example
<p><cite>The Scream</cite> by Edvard Munch. Painted i n 1893.</p>
Example
<bdo d i r = " r t l " > T h i s t e x t w i l l be w r i t t e n from r i g h t t o l e f t </ b do>
HTML Colors
HTML colors are specified using predefined color names, or RGB, HEX, HSL,
RGBA, HSLA values.
Color Names
In HTML, a color can be specified by using a color name:
Tomato
19
Orange
DodgerBlue
MediumSeaGreen
Gray
SlateBlue
Violet
Background Color
You can set the background color for HTML elements:
Hello World
Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh
euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad
minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip
ex ea commodo consequat.
Example
<h1 style="background-color:DodgerBlue;">Hello World</h1>
<p style="background-color:Tomato;">Lorem ipsum...</p>
20
Text Color
You can set the color of text:
Hello World
Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh
euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.
Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit
lobortis nisl ut aliquip ex ea commodo consequat.
Example
<h1 style="color:Tomato;">Hello World</h1>
<p style="color:DodgerBlue;">Lorem ipsum...</p>
<p style="color:MediumSeaGreen;">Ut w i s i enim...</p>
Border Color
You can set the color of borders:
Hello World
Hello World
Hello World
Example
<h1 style="border:2px s o l i d Tomato;">Hello World</h1>
<h1 style="border:2px s o l i d DodgerBlue;">Hello World</h1>
<h1 style="border:2px s o l i d V i o l e t ; " > H e l l o World</h1>
Color Values
In HTML, colors can also be specified using RGB values, HEX values, HSL values,
RGBA values, and HSLA values:
h s l ( 9 , 100%, 64%)
Same as color name "Tomato", but 50% transparent:
Example
<h1 style="background-color:rgb(255, 99, 7 1 ) ; " > . . . < / h 1 >
<h1 st yle = " background-color:#ff6347;"> ...</h1>
<h1 st yle = " background-color:hsl( 9, 100%, 64%);">...</h1>
RGBValue
In HTML, a color can be specified as an RGB value, using this formula:
For example, rgb(255, 0, 0) is displayed as red, because red is set to its highest
value (255) and the others are set to 0.
To display black, set all color parameters to 0, like this: rgb(0, 0, 0).
To display white, set all color parameters to 255, like this: rgb(255, 255, 255).
22
Example
rgb(255, 0 , 0 )
rgb(0, 0 , 255)
rgb(255, 165, 0 )
Example
rgb(0, 0 , 0 )
23
rgb(180, 180, 180)
HEXValue
In HTML, a color can be specified using a hexadecimal value in the form:
#rrggbb
Where rr (red), gg (green) and bb (blue) are hexadecimal values between 00 and ff
(same as decimal 0-255).
For example, #ff0000 is displayed as red, because red is set to its highest value
(ff) and the others are set to the lowest value (00).
Example
#ff0000
#0000ff
#3cb371
24
#ee82ee
#ffa500
#6a5acd
Shades of gray are often defined using equal values for all the 3 light sources:
Example
#000000
#3c3c3c
#787878
#b4b4b4
# f 0 f 0f 0
#ffffff
25
HSLValue
In HTML, a color can be specified using hue, saturation, and lightness (HSL) in the
form:
Saturation is a percentage value, 0% means a shade of gray, and 100% is the full
color.
Example
h s l ( 0 , 100%, 50%)
26
Saturation
Saturation can be described as the intensity of a color.
50% is 50% gray, but you can still see the color.
Example
h s l ( 0 , 100%, 50%)
h s l ( 0 , 80%, 50%)
h s l ( 0 , 60%, 50%)
h s l ( 0 , 40%, 50%)
h s l ( 0 , 20%, 50%)
h s l ( 0 , 0%, 50%)
Lightness
The lightness of a color can be described as how much light you want to give the
color, where 0% means no light (black), 50% means 50% light (neither dark nor
light) 100% means full lightness (white).
27
Example
h s l ( 0 , 100%, 0%)
h s l ( 0 , 100%, 25%)
h s l ( 0 , 100%, 50%)
h s l ( 0 , 100%, 75%)
h s l ( 0 , 100%, 90%)
h s l ( 0 , 100%, 100%)
Shades of gray are often defined by setting the hue and saturation to 0, and adjust
the lightness from 0% to 100% to get darker/lighter shades:
Example
h s l ( 0 , 0%, 0%)
h s l ( 0 , 0%, 24%)
28
h s l ( 0 , 0%, 47%)
h s l ( 0 , 0%, 71%)
h s l ( 0 , 0%, 94%)
h s l ( 0 , 0%, 100%)
RGBAValue
RGBA color values are an extension of RGB color values with an alpha channel -
which specifies the opacity for a color.
29
HSLAValue
HSLA color values are an extension of HSL color values with an alpha channel -
which specifies the opacity for a color.
CSS saves a lot of work. It can control the layout of multiple web pages all at
once.
The most common way to add CSS, is to keep the styles in separate CSS files.
However, here we will use inline and internal styling, because this is easier to
demonstrate, and easier for you to try it yourself.
30
Inline CSS
An inline CSS is used to apply a unique style to a single HTML element.
This example sets the text color of the <h1> element to blue:
Example
<h1 s t yl e = " c o l o r : b l u e ; " >T h i s i s a Blue Heading</h1>
Internal CSS
An internal CSS is used to define a style for a single HTML page.
Example
<!DOCTYPE html>
<html>
<head>
<style>
body {background-color: powderblue;}
h1 {color: blue;}
p {color: red;}
< / s t yl e >
</head>
<body>
<h1>This i s a heading</h1>
<p>This i s a paragraph.</p>
</body>
</html>
External CSS
An external style sheet is used to define the style for many HTML pages.
31
www.youtube.com/upciss UPCISS
With an external style sheet, you can change the look of an entire web
site, by changing one file!
To use an external style sheet, add a link to it in the <head> section of the HTML
page:
Example
<!DOCTYPE html>
<html>
<head>
< l i n k r e l = " s t yl e s h e e t " h r ef = " st yl e s. css " >
</head>
<body>
<h1>This i s a heading</h1>
<p>This i s a paragraph.</p>
</body>
</html>
An external style sheet can be written in any text editor. The file must not contain
any HTML code, and must be saved with a .css extension.
body {
background-color: powderblue;
}
h1 {
c o l o r : blue;
}
p {
c o lo r : red;
}
CSSFonts
The CSS c o l o r property defines the text color to be used.
32
Example
<!DOCTYPE html>
<html>
<head>
<st yl e>
h1 {
c o l o r : blue;
f o n t - f a m i l y : verdana;
f o n t - s i z e : 300%;
}
p {
c o lo r : red;
font-family: courier;
f o n t - s i z e : 160%;
}
< / s t yl e >
</head>
<body>
<h1>This i s a heading</h1>
<p>This i s a paragraph.</p>
</body>
</html>
CSSBorder
The CSS border property defines a border around an HTML element:
Example
p {
bor der : 1px s o l i d powderblue;
}
CSSPadding
The CSS padding property defines a padding (space) between the text and the
border:
Example
p {
bor der : 1px s o l i d powderblue;
padding: 30px;
}
33
CSSMargin
The CSS margin property defines a margin (space) outside the border:
Example
p {
bor der : 1px s o l i d powderblue;
margin: 50px;
}
TheidAttribute
To define a specific style for one special element, add an i d attribute to the
element:
then define a style for the element with the specific id:
Example
#p01 {
c o l o r : blue;
}
TheclassAttribute
To define a style for special types of elements, add a class attribute to the
element:
then define a style for the elements with the specific class:
Example
p.error {
c o lo r : red;
}
34
External References
External style sheets can be referenced with a full URL or with a path relative to the
current web page.
Example
< l i n k r e l = " s t yl e s h e e t " href="https://www.w3schools.com/html/styles.css ">
This example links to a style sheet located in the html folder on the current web
site:
Example
< l i n k r e l = " s t yl e s h e e t " h r e f = " / h t m l / s t yl e s . c s s " >
This example links to a style sheet located in the same folder as the current page:
Example
< l i n k r e l = " s t yl e s h e e t " h r e f =" st yl e s. cs s" >
You can read more about file paths in the chapter HTML File Paths.
HTML Links
Links are found in nearly all web pages. Links allow users to click their way from
page to page.
When you move the mouse over a link, the mouse arrow will turn into a little hand.
Note: A link does not have to be text. It can be an image or any other HTML
element.
35
HTML Links- Syntax
Hyperlinks are defined with the HTML
<a> tag:
Example
<a href ="https://www.w3schools.com/html/ ">Visit our HTML t u t o r i a l < / a >
The link text is the visible part (Visit our HTML tutorial).
Clicking on the link text will send you to the specified address.
Note: Without a forward slash at the end of subfolder addresses, you might
generate two requests to the server. Many servers will automatically add a forward
slash to the end of the address, and then create a new request.
Local Links
The example above used an absolute URL (a full web address).
A local link (link to the same web site) is specified with a relative URL (without
https://www....).
Example
<a href="html_images.asp">HTML Images</a>
HTML LinkColors
By default, a link will appear like this (in all browsers):
Example
<style>
a:link {
c o l o r : green;
36
background-color: t r anspar ent ;
t e xt - d e c o r a t i o n : none;
}
a:visited {
color : pink;
background-color: t r anspar ent ;
t e xt - d e c o r a t i o n : none;
}
a:hover {
c o lo r : red;
background-color: t r anspar ent ;
t e xt - d e c o r a t i o n : u n d e r l i n e ;
}
a : a c t i ve {
c o l o r : ye l l o w;
background-color: t r anspar ent ;
t e xt - d e c o r a t i o n : u n d e r l i n e ;
}
< / s t yl e >
Example
<style>
a: link , a:visited {
background-color: #f44336;
c o l o r : wh i t e ;
padding: 15px 25px;
t e x t - a l i g n : center;
t e xt - d e c o r a t i o n : none;
display: inline-block ;
}
a: hover , a : a c t i ve {
background-color: r e d ;
}
< / s t yl e >
37
• _bla nk - Opens the linked document in a new window or tab
• _ s e l f - Opens the linked document in the same window/tab as it was clicked
(this is default)
• _pa ren t - Opens the linked document in the parent frame
• _top - Opens the linked document in the full body of the window
• framename - Opens the linked document in a named frame
This example will open the linked document in a new browser window/tab:
Example
<a href="https://www.w3schools.com/" t a r g et =" _b l a nk" > V i si t W3Schools!</a>
Tip: If your webpage is locked in a frame, you can use target="_ t o p " to break out
of the frame:
Example
<a href="https://www.w3schools.com/html/ " target="_top">HTML5 t u t o r i a l ! < / a >
Example
<a hr ef =" def ault .asp" >
<img s r c = " s m i l e y . g i f " alt="HTML
t u t o r i a l " s t yl e = " wi d t h : 4 2 p x; h e i g h t : 4 2 p x; b o r d e r : 0 ; " >
</a>
Note: border:0; is added to prevent IE9 (and earlier) from displaying a border
around the image (when the image is a link).
LinkTitles
The t i t l e attribute specifies extra information about an element. The information
is most often shown as a tooltip text when the mouse moves over the element.
Example
<a href="https://www.w3schools.com/html/ " t i t l e = " G o t o W3Schools HTML
s e c t i o n " > V i s i t our HTML T ut or ial < / a>
38
HTML Links- Create aBookmark
HTML bookmarks are used to allow readers to jump to specific parts of a Web page.
Bookmarks can be useful if your webpage is very long.
To make a bookmark, you must first create the bookmark, and then add a link to it.
When the link is clicked, the page will scroll to the location with the bookmark.
Example
First, create a bookmark with the i d attribute:
Then, add a link to the bookmark ("Jump to Chapter 4"), from within the same
page:
Or, add a link to the bookmark ("Jump to Chapter 4"), from another page:
Example
<a href="html_demo.html#C4">Jump t o Chapter 4</a>
External Paths
External pages can be referenced with a full URL or with a path relative to the
current web page.
Example
<a href="https://www.w3schools.com/html/default.asp">HTML t u t o r i a l < / a >
This example links to a page located in the html folder on the current web site:
Example
<a href="/html/default.asp">HTML t u t o r i a l < / a >
This example links to a page located in the same folder as the current page:
Example
<a href="default.asp">HTML t u t o r i a l < / a >
39
HTML Images
<img s r c = " i m g _ g i r l . j p g " a l t = " G i r l i n a j a c k et " >
HTML ImagesSyntax
In HTML, images are defined with the <img> tag.
The <img> tag is empty, it contains attributes only, and does not have a closing
tag.
The src attribute specifies the URL (web address) of the image:
ThealtAttribute
The a l t attribute provides an alternate text for an image, if the user for some
reason cannot view it (because of slow connection, an error in the src attribute, or
if the user uses a screen reader).
Example
<img src="img_chania.jpg" alt="Flowers i n Chania">
If a browser cannot find an image, it will display the value of the a l t attribute:
Example
<img src="wrongname.gif" alt="Flowers i n Chania">
Note: The a l t attribute is required. A web page will not validate correctly without
it.
40
Example
<!DOCTYPE html>
<html>
<head>
<st yl e>
img {
wi d t h : 100%;
}
< / s t yl e >
</head>
<body>
</body>
</html>
Example
<a hr ef =" def ault .asp" >
<img s r c = " s m i l e y . g i f " alt="HTML
t u t o r i a l " st yle = " widt h:42px; heig ht:42px; border:0;">
</a>
Note: border:0; is added to prevent IE9 (and earlier) from displaying a border
around the image (when the image is a link).
Image Floating
Use the CSS f l o a t property to let the image float to the right or to the left of a
text:
Example
<p><img s r c = " s m i l e y . g i f " alt="Smiley
f ace" s t y l e = " f l o a t : r i g h t ; w i d t h : 4 2 p x ; h e i g h t : 4 2 p x ; " >
The image w i l l f l o a t t o the r i g h t o f the t e x t . < / p >
41
ImageMaps
The <map> tag defines an image-map. An image-map is an image with clickable
areas.
In the image below, click on the computer, the phone, or the cup of coffee:
Example
<img src="workplace.jpg" alt="Workplace" usemap="#workmap">
<map name="workmap">
<area shape="rect" coords="34,44,270,350" alt="Computer" href="computer.htm">
<area shape="rect" coords="290,172,333,250" alt="Phone" href="phone.htm">
<area shape="circle" coords="337,300,44" a l t = " C of f ee " href ="coffee.htm">
</map>
The name attribute of the <map> tag is associated with the <img>'s usemap attribute
and creates a relationship between the image and the map.
The <map> element contains a number of <are a> tags, that define the clickable
areas in the image-map.
42
HTML Tables
HTML Table Example
Each table row is defined with the <tr> tag. A table header is defined with
the <th> tag. By default, table headings are bold and centered. A table data/cell is
defined with the <td> tag.
43
Example
<table style="width:100%">
<tr>
<th>Firstname</th>
<th>Lastname</th>
<th>Age</th>
</tr>
<tr>
<td>Jill</td>
<td>Smith</td>
<td>50</td>
</tr>
<tr>
<td>Eve</td>
<td>Jackson</td>
<td>94</td>
</tr>
< / table >
Note: The <td> elements are the data containers of the table.
They can contain all sorts of HTML elements; text, images, lists, other tables, etc.
Example
table, t h, td {
bor der : 1px s o l i d b l a c k ;
}
Remember to define borders for both the table and the table cells.
Example
table, t h, td {
bor der : 1px s o l i d b l a c k ;
44
bor der -collapse : c o l l a p s e ;
}
If you do not specify a padding, the table cells will be displayed without padding.
Example
t h, td {
padding: 15px;
}
Example
th {
text-align: l e f t ;
}
To set the border spacing for a table, use the CSS border- spacin g property:
Example
table {
border-spacing: 5px;
}
45
Example
<table style="width:100%">
<tr>
<th>Name</th>
<th colspan="2">Telephone</th>
</tr>
<tr>
< t d > B i l l Gates</td>
<td>55577854</td>
<td>55577855</td>
</tr>
< / table >
Example
<table style="width:100%">
<tr>
<th>Name:</th>
< t d > B i l l Gates</td>
</tr>
<t r >
<th rowspan="2">Telephone:</th>
<td>55577854</td>
</tr>
<tr>
<td>55577855</td>
</tr>
< / table >
Example
<table style="width:100%">
<caption>Monthly savings</caption>
<tr>
<th>Month</th>
<th>Savings</th>
</tr>
<tr>
<td>January</td>
46
<td>$100</td>
</tr>
<tr>
<td>February</td>
<td>$50</td>
</tr>
< / table >
Note: The <caption> tag must be inserted immediately after the <table> tag.
Example
<table id= " t 01">
<tr>
<th>Firstname</th>
<th>Lastname</th>
<th>Age</th>
</tr>
<tr>
<td>Eve</td>
<td>Jackson</td>
<td>94</td>
</tr>
< / table >
47
HTML Lists
Unordered HTML List
An unordered list starts with the <ul> tag. Each list item starts with the < l i > tag.
The list items will be marked with bullets (small black circles) by default:
Example
<ul>
<li>Coffee</li>
<li>Tea</li>
<li>Milk</li>
</ul>
Value Description
Example - Disc
< ul s t y l e = " l i s t - s t y l e - t y p e : d i s c ; " >
<li>Coffee</li>
<li>Tea</li>
<li>Milk</li>
</ul>
48
Example
<ol>
<li>Coffee</li>
<li>Tea</li>
<li>Milk</li>
</ol>
Type Description
type="I" The list items will be numbered with uppercase roman numbers
type="i" The list items will be numbered with lowercase roman numbers
Numbers:
< ol type="1">
<li>Coffee</li>
<li>Tea</li>
<li>Milk</li>
</ol>
HTML DescriptionLists
HTML also supports description lists.
A description list is a list of terms, with a description of each term.
The <dl> tag defines the description list, the <dt> tag defines the term (name),
and the <dd> tag describes each term:
Example
<dl>
<dt>Coffee</dt>
<dd>- black hot drink</dd>
<dt>Milk</dt>
<dd>- white cold drink</dd>
</dl>
49
Nested HTML Lists
List can be nested (lists inside lists):
Example
<ul>
<li>Coffee</li>
<li>Tea
<ul>
< li> Black t e a < / l i >
<li>Green t e a < / l i >
< / ul>
</li>
<li>Milk</li>
</ul>
Note: List items can contain new list, and other HTML elements, like images and
links, etc.
Example
< ol st ar t="50">
<li>Coffee</li>
<li>Tea</li>
<li>Milk</li>
</ol>
Example
50
<!DOCTYPE html>
<html>
<head>
<st yl e>
ul {
l i s t - s t y l e - t y p e : none;
margin: 0 ;
padding: 0 ;
over f low: hidden;
background-color: #333333;
}
li {
float: left;
}
li a {
display: block;
c o l o r : wh i t e ;
t e x t - a l i g n : center;
padding: 16px;
t e xt - d e c o r a t i o n : none;
}
l i a:hover {
background-color: #111111;
}
< / s t yl e >
</head>
<body>
<ul>
<li><a href="#home">Home</a></li>
<li><a href="#news">News</a></li>
<li><a href ="#contact">Contact</a></li>
<li><a href="#about">About</a></li>
</ul>
</body>
</html>
51
HTML Blockand InlineElements
Every HTML element has a default display value depending on what type of
element it is.
Block-level Elements
A block-level element always starts on a new line and takes up the full width
available (stretches out to the left and right as far as it can).
Example
<div>Hello World</div>
<addr e ss> <ar t i c le > <asi de> <b l ockquo t e> <canvas> <dd> <d i v >
<p> <pre> <sect i on> <t a ble > <t f oo t> <u l > <v i deo>
Inline Elements
An inline element does not start on a new line and only takes up as much width as
necessary.
Example
<span>Hello World</span>
<c i t e> <code> <dfn> <em> <i > <img> <in put > <kbd> <l abel >
<map> <object> <output> <q> <samp> < s c r ipt > <select> <small>
<span> <strong> <sub> <sup> <t exta r e a> <t i me> <t t > <var >
52
The<div> Element
The <div> element is often used as a container for other HTML elements.
The <div> element has no required attributes, but s t yl e , class and i d are
common.
When used together with CSS, the <div> element can be used to style blocks of
content:
Example
<div style="background-color:black;color:white;padding:20px;">
<h2>London</h2>
<p>London i s the c a p i t a l c i t y o f England. I t i s the most populous c i t y i n the
United Kingdom, wit h a metropolitan area o f over 13 m i l l i o n i n h a b i t a nt s. </ p>
</div>
The<span>Element
The <span> element is often used as a container for some text.
The <span> element has no required attributes, but s t yl e , class and i d are
common.
When used together with CSS, the <span> element can be used to style parts of
the text:
Example
<h1>My <span style="color:red">Important</span> Heading</h1>
So, all HTML elements with the same class attribute will get the same style.
Here we have three <div> elements that point to the same class name:
53
Example
<!DOCTYPE html>
<html>
<head>
<style>
.cities {
background-color: b l a c k ;
c o l o r : wh i t e ;
margin: 20px;
padding: 20px;
}
< / s t yl e >
</head>
<body>
</body>
</html>
Result:
London
London is the capital of England.
Paris
Paris is the capital of France.
Tokyo
Tokyo is the capital of Japan.
54
Using The classAttribute on Inline Elements
Example
<!DOCTYPE html>
<html>
<head>
<style>
span.note {
f o n t - s i z e : 120%;
c o lo r : red;
}
< / s t yl e >
</head>
<body>
</body>
</html>
Example
Use CSS to style all elements with the class name "city":
<style>
.city {
background-color: tomato;
c o l o r : wh i t e ;
padding: 10px;
}
< / s t yl e >
<h2 class="city">London</h2>
<p>London i s the c a p i t a l o f England.</p>
<h2 class="city">Paris</h2>
55
<p>Paris i s the c a p i t a l o f France.</p>
<h2 class="city">Tokyo</h2>
<p>Tokyo i s the c a p i t a l o f Japan.</p>
Result:
London
London is the capital of England.
Paris
Paris is the capital of France.
Tokyo
Tokyo is the capital of Japan.
Multiple Classes
HTML elements can have more than one class name, each class name must be
separated by a space.
Example
Style elements with the class name "city", also style elements with the class name
"main":
In the example above, the first <h2> element belongs to both the "city" class and
the "main" class.
Example
<h2 class="city">Paris</h2>
<p c l a s s =" c i t y" >P a r i s i s the c a p i t a l o f France</p>
56
HTML The id Attribute
Using The id Attribute
The i d attribute specifies a unique id for an HTML element (the value must be
unique within the HTML document).
The id value can be used by CSS and JavaScript to perform certain tasks for the
element with the specific id value.
In CSS, to select an element with a specific id, write a hash (#) character, followed
by the id of the element:
Example
Use CSS to style an element with the id "myHeader":
<style>
#myHeader {
background-color: l i g h t b l u e ;
c o l o r : black;
padding: 40px;
t e x t - a l i g n : center;
}
< / s t yl e >
Result:
My Header
Tip: The id attribute can be used on any HTML element.
Note: The id value must contain at least one character, and must not contain
whitespace (spaces, tabs, etc.).
57
Example
<style>
/ * St yle the element wit h the i d "myHeader" * /
#myHeader {
background-color: l i g h t b l u e ;
c o l o r : black;
padding: 40px;
t e x t - a l i g n : center;
}
<h2 class="city">Paris</h2>
<p>Paris i s the c a p i t a l o f France.</p>
<h2 class="city">Tokyo</h2>
<p>Tokyo i s the c a p i t a l o f Japan.</p>
To make a bookmark, you must first create the bookmark, and then add a link to
it.
When the link is clicked, the page will scroll to the location with the bookmark.
Example
First, create a bookmark with the i d attribute:
58
Then,
add a link to the bookmark ("Jump to Chapter 4"), from within the same page:
Or, add a link to the bookmark ("Jump to Chapter 4"), from another page:
Example
<a href="html_demo.html#C4">Jump t o Chapter 4</a>
Example
Use the id attribute to manipulate text with JavaScript:
HTML Iframes
Iframe Syntax
An HTML iframe is defined with the <iframe> tag:
<iframe src="URL"></iframe>
The src attribute specifies the URL (web address) of the inline frame page.
59
Iframe- Set Height andWidth
Use the height and width attributes to specify the size of the iframe.
Example
<iframe src="demo_iframe.htm" height="200" width="300"></iframe>
Example
<iframe src="demo_iframe.htm" height="100%" width="100%"></iframe>
Or you can use CSS to set the height and width of the iframe:
Example
<iframe src="demo_iframe.htm" style="height:200px;width:300px;">< /iframe>
To remove the border, add the s t y l e attribute and use the CSS border property:
Example
<iframe src="demo_iframe.htm" style="border:none;"></iframe>
With CSS, you can also change the size, style and color of the iframe's border:
Example
<iframe src="demo_iframe.htm" style="border:2px s o l i d red;"></iframe>
The t a r g e t attribute of the link must refer to the name attribute of the iframe:
60
Example
<iframe src="demo_iframe.htm" name="iframe_a"></iframe>
HTML FilePaths
Path Description
HTML FilePaths
A file path describes the location of a file in a web site's folder structure.
• Web pages
• Images
• Style sheets
• JavaScripts
61
Example
<img src="https://www.w3schools.com/images/picture.jpg " alt="Mountain">
Relative FilePaths
A relative file path points to a file relative to the current page.
In this example, the file path points to a file in the images folder located at the root
of the current web:
Example
<img s r c =" /i m ag e s/ pi ct u r e. j pg " alt="Mountain">
In this example, the file path points to a file in the images folder located in the
current folder:
Example
<img sr c="images/picture.j pg" alt="Mountain">
In this example, the file path points to a file in the images folder located in the
folder one level above the current folder:
Example
<img s r c = " . . / i m a g e s / p i c t u r e . j p g " alt="Mountain">
HTML Head
TheHTML <head> Element
The <head> element is a container for metadata (data about data) and is placed
between the <html> tag and the <body> tag.
HTML metadata is data about the HTML document. Metadata is not displayed.
Metadata typically define the document title, character set, styles, scripts, and
other meta information.
62
TheHTML <title> Element
The < t i t l e > element defines the title of the document, and is required in all HTML
documents.
Example
<!DOCTYPE html>
<html>
<head>
<title>Page T i t l e < / t i t l e >
</head>
<body>
The content o f the d o c u m e n t . . . . . .
</body>
</html>
Example
<style>
body {background-color: powderblue;}
h1 { c o l o r : r e d ; }
p {color: blue;}
< / s t yl e >
Example
< l i n k r e l = " s t yl e s h e e t " href="mystyle.css">
63
TheHTML <meta> Element
The <meta> element is used to specify which character set is used, page
description, keywords, author, and other metadata.
<meta charset="UTF-8">
Example
<meta charset="UTF-8">
<meta name="description" content="Free Webt u t o r i a l s " >
<meta name="keywords" content="HTML,CSS,XML,JavaScript">
<meta name="author" content="John Doe">
The viewport is the user's visible area of a web page. It varies with the device, and
will be smaller on a mobile phone than on a computer screen.
You should include the following <meta> viewport element in all your web pages:
64
A <meta> viewport element gives the browser instructions on how to control the
page's dimensions and scaling.
The width=device-width part sets the width of the page to follow the screen-width
of the device (which will vary depending on the device).
The initial-scale=1.0 part sets the initial zoom level when the page is first loaded
by the browser.
Here is an example of a web page without the viewport meta tag, and the same
web page with the viewport <meta>tag:
This JavaScript writes "Hello JavaScript!" into an HTML element with id="demo":
Example
< scr ipt >
f u n c t i o n myFunction {
document.getElementById("demo").innerHTML = " H e l l o J a v a S c r i p t ! " ;
}
</script>
Example
<base href="https://www.w3schools.com/images/" target="_blank">
HTML Symbols
HTML SymbolEntities
HTML entities were described in the previous chapter.
Many mathematical, technical, and currency symbols, are not present on a normal
keyboard.
To add such symbols to an HTML page, you can use an HTML entity name.
65
If no entity name exists, you can use an entity number, a decimal, or hexadecimal
reference.
Example
<p>I w i l l display €</p>
<p>I w i l l display €</p>
<p>I w i l l display €</p>
66
∉ ∉ ∉ NOT AN ELEMENT OF
67
Ζ Ζ Ζ GREEK CAPITAL LETTER ZETA
68
♣ ♣ ♣ BLACK CLUB SUIT
HTML Forms
The<form>Element
The HTML <form> element defines a form that is used to collect user input:
<form>
.
form elements
.
</form>
Form elements are different types of input elements, like text fields, checkboxes,
radio buttons, submit buttons, and more.
The<input>Element
The <input> element is the most important form element.
Type Description
69
<input type="radio"> Defines a radio button (for selecting one
of many choices)
TextInput
<input type="te xt"> defines a one-line input field for text input:
Example
<form>
F i r s t name:<br>
<input t yp e = " t e xt " name="firstname"><br>
Last name:<br>
<input t yp e = " t e xt " name="lastname">
</form>
First name:
Last name:
Note: The form itself is not visible. Also note that the default width of a text field is
20 characters.
Example
<form>
<input t ype= " radio" name="gender" value="male" checked> Male<br>
<input t ype= " radio" name="gender" value="female"> Female<br>
<input t ype=" radio" name="gender" value="other"> Other
</form>
70
This is how the HTML code above will be displayed in a browser:
Male
Female
Other
TheSubmitButton
<input type="submit"> defines a button for submitting the form data to a form-
handler.
The form-handler is typically a server page with a script for processing input data.
Example
<form action="/action_page.php">
F i r s t name:<br>
<input t yp e = " t e xt " name="firstname" value="Mickey"><br>
Last name:<br>
<input t yp e = " t e xt " name="lastname" value="Mouse"><br><br>
<input type="submit" value="Submit">
</form>
First name:
Mickey
Last name:
Mouse
Submit
TheActionAttribute
The action attribute defines the action to be performed when the form is
submitted.
Normally, the form data is sent to a web page on the server when the user clicks
on the submit button.
In the example above, the form data is sent to a page on the server called
"/action_page.php". This page contains a server-side script that handles the form
data:
71
<form action="/action_page.php">
If the action attribute is omitted, the action is set to the current page.
TheTargetAttribute
The t a r g e t attribute specifies if the submitted result will open in a new browser
tab, a frame, or in the current window.
The default value is " _self " which means the form will be submitted in the current
window.
To make the form result open in a new browser tab, use the value " _blank ":
Example
<form action="/action_page.php" target="_blank">
Other legal values are " _parent ", " _top ", or a name representing the name of an
iframe.
TheMethodAttribute
The method attribute specifies the HTTP method (GET or POST) to be used when
submitting the form data:
Example
<form action="/action_page.php" method="get">
or:
Example
<form action="/action_page.php" method="post">
However, when GET is used, the submitted form data will be visible in the page
address field:
/action_page.php?firstname=Mickey&lastname=Mouse
Notes on GET:
72
• Appends form-data into the URL in name/value pairs
• The length of a URL is limited (about 3000 characters)
• Never use GET to send sensitive data! (will be visible in the URL)
• Useful for form submissions where a user wants to bookmark the result
• GET is better for non-secure data, like query strings in Google
Notes on POST:
• POST has no size limitations, and can be used to send large amounts of data.
• Form submissions with POST cannot be bookmarked
TheNameAttribute
Each input field must have a name attribute to be submitted.
If the name attribute is omitted, the data of that input field will not be sent at all.
This example will only submit the "Last name" input field:
Example
<form action="/action_page.php">
F i r s t name:<br>
<input t yp e = " t e xt " value="Mickey"><br>
Last name:<br>
<input t yp e = " t e xt " name="lastname" value="Mouse"><br><br>
<input type="submit" value="Submit">
</form>
The < legend> element defines a caption for the < f i e l d s e t> element.
Example
<form action="/action_page.php">
<fieldset>
<legend>Personal inf ormation: </legend>
F i r s t name:<br>
<input t yp e = " t e xt " name="firstname" value="Mickey"><br>
73
Last name:<br>
<input t yp e = " t e xt " name="lastname" value="Mouse"><br><br>
<input type="submit" value="Submit">
</fieldset>
</form>
Last name:
Mouse
Submit
HTML FormElements
This chapter describes all HTML form elements.
The<input> Element
The most important form element is the <in put > element.
Example
<input name="firstname" t ype = " text">
If the type attribute is omitted, the input field gets the default type: "text".
All the different input types are covered in the next chapter.
The<select>Element
The <se lect > element defines a drop-down list:
Example
<select name="cars">
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option va l u e = " f i a t " >F i at < /o pt i o n >
74
<option value="audi">Audi</option>
< / select>
The <op tio n> elements defines an option that can be selected.
Example
<option v a l u e = " f i a t " selected>Fiat</option>
Visible Values:
Use the size attribute to specify the number of visible values:
Example
<select name="cars" size="3">
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option va l u e = " f i a t " >F i at < /o pt i o n >
<option value="audi">Audi</option>
</ select>
Example
<select name="cars" size="4" multiple>
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option va l u e = " f i a t " >F i at < /o pt i o n >
<option value="audi">Audi</option>
< / select>
The<textarea>Element
The < texta r ea> element defines a multi-line input field (a text area):
Example
<textarea name="message" rows="10" cols="30">
The cat was playing i n the garden.
</textarea>
75
The rows attribute specifies the visible number of lines in a text area.
You can also define the size of the text area by using CSS:
Example
<textarea name="message" style="width:200px; height:600px;">
The cat was playing i n the garden.
</textarea>
The<button> Element
The <bu tto n> element defines a clickable button:
Example
<button type="button" o n c l i c k = " a l e r t ( ' H e l l o W o r l d ! ' ) " > C l i c k Me!</button>
Click Me!
Note: Always specify the type attribute for the button element. Different browsers
may use different default types for the button element.
HTML5 FormElements
HTML5 added the following form elements:
Note: Browsers do not display unknown elements. New elements that are not
supported in older browsers will not "destroy" your web page.
76
HTML5 <datalist>Element
The <da ta li s t > element specifies a list of pre-defined options for
an <input> element.
Users will see a drop-down list of the pre-defined options as they input data.
Example
<form action="/action_page.php">
<input list = " br owser s" >
< d a t a l i s t id="browsers">
<option value = " I nternet Explorer">
<option value="Firef ox">
<option value="Chrome">
<option value="Opera">
<option value="Saf ari">
</datalist>
</form>
HTML5 <output>Element
The <ou tput > element represents the result of a calculation (like one performed by
a script).
Example
Perform a calculation and show the result in an <output> element:
<form action="/action_page.php"
oninput ="x.value=parseInt(a.value)+parseInt(b.value)">
0
<input type="range" i d = " a " name="a" value="50">
100 +
<input type="number" i d = " b " name="b" value="50">
=
<output name="x" f or = " a b"></output>
<br><br>
<input type="submit">
</form>
77
HTML InputTypes
This chapter describes the different input types for the <input> element.
HTML InputTypes
Here are the different input types you can use in HTML:
• <input type="button">
• <input type="checkbox">
• <input type="color">
• <input type="date">
• <input type="datetime -local">
• <input type="email">
• <input type="file">
• <input type="hidden">
• <input type="image">
• <input type="month">
• <input type="number">
• <input type="password">
• <input type="radio">
• <input type="range">
•
<input type="reset">
•
<input type="search">
•
<input type="submit">
<input t yp e = " t e l " >
•
<input type="te xt">
•
<input type="time">
•
<input t yp e = " u r l " >
•
<input type="week">
•
Example
<form>
F i r s t name:<br>
<input t yp e = " t e xt " name="firstname"><br>
Last name:<br>
<input t yp e = " t e xt " name="lastname">
</form>
78
Input Type Password
Example
<form>
User name:<br>
<input t yp e = " t e xt " name="username"><br>
User password:<br>
<input type="password" name="psw">
</form>
The form-handler is typically a server page with a script for processing input data.
Example
<form action="/action_page.php">
F i r s t name:<br>
<input t yp e = " t e xt " name="firstname" value="Mickey"><br>
Last name:<br>
<input t yp e = " t e xt " name="lastname" value="Mouse"><br><br>
<input type="submit" value="Submit">
</form>
Example
<form action="/action_page.php">
F i r s t name:<br>
<input t yp e = " t e xt " name="firstname" value="Mickey"><br>
Last name:<br>
<input t yp e = " t e xt " name="lastname" value="Mouse"><br><br>
<input type="submit" value="Submit">
<input type="reset">
</form>
79
If you change the input values and then click the "Reset" button, the form-data will
be reset to the default values.
Radio buttons let a user select ONLY ONE of a limited number of choices:
Example
<form>
<input t ype= " radio" name="gender" value="male" checked> Male<br>
<input t ype= " radio" name="gender" value="female"> Female<br>
<input t ype= " radio" name="gender" value="other"> Other
</form>
Checkboxes let a user select ZERO or MORE options of a limited number of choices.
Example
<form>
<input type="checkbox" name="vehicle1" value="Bike"> I have a bike<br>
<input type="checkbox" name="vehicle2" value="Car"> I have a car
</form>
I have a bike
I have a car
Example
<input type="button" o n c l i c k = " a l e r t ( ' H e l l o W o r l d ! ' ) " value="Click Me!">
80
HTML5 Input Types
HTML5 added several new input types:
• color
• date
• datetime-local
• email
• month
• number
• range
• search
• tel
• time
• url
• week
New input types that are not supported by older web browsers, will behave
as <input type="text"> .
Depending on browser support, a color picker can show up in the input field.
Example
<form>
Select your f a v o r i t e c o l o r :
<input t ype= " color " name="favcolor">
</form>
Depending on browser support, a date picker can show up in the input field.
Example
<form>
B i r t h d ay:
<input type="date" name="bday">
</form>
You can also use the min and max attributes to add restrictions to dates:
81
Example
<form>
Enter a date before 1980-01-01:
<input type="date" name="bday" max="1979-12-31"><br>
Enter a date a f t e r 2000-01-01:
<input type="date" name="bday" min="2000-01-02"><br>
</form>
Depending on browser support, a date picker can show up in the input field.
Example
<form>
Birthday (date and t i m e ) :
<input t ype= " datetim e-local" name="bdaytime">
</form>
Some smartphones recognize the email type, and add ".com" to the keyboard to
match email input.
Example
<form>
E-mail:
<input type="email" name="email">
</form>
82
Example
<form>
Select a f i l e : <input t y p e = " f i l e " name="myFile">
</form>
Depending on browser support, a date picker can show up in the input field.
Example
<form>
Birthday (month and y e a r ) :
<input type="month" name="bdaymonth">
</form>
The following example displays a numeric input field, where you can enter a value
from 1 to 5:
Example
<form>
Quantity (between 1 and 5 ) :
<input type="number" name="quantity" min="1" max="5">
</form>
Input Restrictions
Here is a list of some common input restrictions:
Attribute Description
83
max Specifies the maximum value for an input field
You will learn more about input restrictions in the next chapter.
The following example displays a numeric input field, where you can enter a value
from 0 to 100, in steps of 10. The default value is 30:
Example
<form>
Q uant it y:
<input type="number" name="points" min="0" max="100" step="10" value="30">
</form>
84
Input Type Range
The <input type="range"> defines a control for entering a number whose exact
value is not important (like a slider control). Default range is 0 to 100. However,
you can set restrictions on what numbers are accepted with the min, max,
and step attributes:
Example
<form>
<input type="range" name="points" min="0" max="10">
</form>
Example
<form>
Search Google:
<input type="search" name="googlesearch">
</form>
Example
<form>
Telephone:
<input t y p e = " t e l " name="phone" p a t t e r n = " [ 0 - 9 ] { 3 } - [ 0 - 9 ] { 2 } - [ 0 - 9 ] { 3 } " >
</form>
Depending on browser support, a time picker can show up in the input field.
85
Example
<form>
Select a t i m e :
<input type="time" name="usr_time">
</form>
Depending on browser support, the url field can be automatically validated when
submitted.
Some smartphones recognize the url type, and adds ".com" to the keyboard to
match url input.
Example
<form>
Add your homepage:
<input t y p e = " u r l " name="homepage">
</form>
Depending on browser support, a date picker can show up in the input field.
Example
<form>
Select a week:
<input type="week" name="week_year">
</form>
HTML InputAttributes
ThevalueAttribute
The value attribute specifies the initial value for an input field:
86
Example
<form action="">
F i r s t name:<br>
<input t yp e = " t e xt " name="firstname" value="John">
</form>
ThereadonlyAttribute
The re adonl y attribute specifies that the input field is read only (cannot be
changed):
Example
<form action="">
F i r s t name:<br>
<input t yp e = " t e xt " name="firstname" value="John" readonly>
</form>
ThedisabledAttribute
The d isab led attribute specifies that the input field is disabled.
A disabled input field is unusable and un-clickable, and its value will not be sent
when submitting the form:
Example
<form action="">
F i r s t name:<br>
<input t yp e = " t e xt " name="firstname" value="John" disabled>
</form>
ThesizeAttribute
The size attribute specifies the size (in characters) for the input field:
Example
<form action="">
F i r s t name:<br>
<input t yp e = " t e xt " name="firstname" value="John" size="40">
</form>
87
ThemaxlengthAttribute
The max l engt h attribute specifies the maximum allowed length for the input field:
Example
<form action="">
F i r s t name:<br>
<input t yp e = " t e xt " name="firstname" maxlength="10">
</form>
With a max l engt h attribute, the input field will not accept more than the allowed
number of characters.
The max l engt h attribute does not provide any feedback. If you want to alert the
user, you must write JavaScript code.
Note: Input restrictions are not foolproof, and JavaScript provides many ways to
add illegal input. To safely restrict input, it must be checked by the receiver (the
server) as well!
HTML5Attributes
HTML5 added the following attributes for <input> :
• autocomplete
• autofocus
• form
• formaction
• formenctype
• formmethod
• formnovalidate
• formtarget
• height and width
• list
• min and max
• multiple
• pattern (regexp)
• placeholder
• required
• step
• autocomplete
• novalidate
88
TheautocompleteAttribute
The auto comp let e attribute specifies whether a form or input field should have
autocomplete on or off.
When autocomplete is on, the browser automatically completes the input values
based on values that the user has entered before.
Tip: It is possible to have autocomplete "on" for the form, and "off" for specific
input fields, or vice versa.
The auto comp let e attribute works with <form> and the following <input> types:
text, search, url, tel, email, password, datepickers, range, and color.
Example
An HTML form with autocomplete on (and off for one input field):
Tip: In some browsers you may need to activate the autocomplete function for this
to work.
ThenovalidateAttribute
The novalidate attribute is a <form> attribute.
When present, novalidate specifies that the form data should not be validated when
submitted.
Example
Indicates that the form is not to be validated on submit:
89
TheautofocusAttribute
The auto fo cus attribute specifies that the input field should automatically get focus
when the page loads.
Example
Let the "First name" input field automatically get focus when the page loads:
TheformAttribute
The form attribute specifies one or more forms an <input> element belongs to.
Example
An input field located outside the HTML form (but still a part of the form):
TheformactionAttribute
The fo rmact io n attribute specifies the URL of a file that will process the input
control when the form is submitted.
The formaction attribute overrides the action attribute of the <fo rm> element.
Example
An HTML form with two submit buttons, with different actions:
<form action="/action_page.php">
F i r s t name: <input t yp e = " t e xt " name="fname"><br>
Last name: <input t yp e = " t e xt " name="lname"><br>
<input type="submit" value="Submit"><br>
<input type="submit" formaction="/action_page2.php"
90
value="Submit as admin">
</form>
TheformenctypeAttribute
The fo rmenct y pe attribute specifies how the form data should be encoded when
submitted (only for forms with method="post").
The fo rmenct y pe attribute overrides the enctype attribute of the <form> element.
Example
Send form-data that is default encoded (the first submit button), and encoded as
"multipart/form-data" (the second submit button):
TheformmethodAttribute
The fo rmmet hod attribute defines the HTTP method for sending form-data to the
action URL.
The fo rmmet hod attribute overrides the method attribute of the <form> element.
The fo rmmet hod attribute can be used with type="submit" and type="image" .
Example
The second submit button overrides the HTTP method of the form:
91
TheformnovalidateAttribute
The fo rmnova li dat e attribute overrides the novalidate attribute of
the <form element.
>
The formnovalidate attribute can be used with type="submit" .
Example
A form with two submit buttons (with and without validation):
<form action="/action_page.php">
E- m ail: <input type="email" name="userid"><br>
<input type="submit" value="Submit"><br>
<input type="submit" formnovalidate value="Submit without v a l i d a t i o n " >
</form>
TheformtargetAttribute
The fo rmta r get attribute specifies a name or a keyword that indicates where to
display the response that is received after submitting the form.
The fo rmta r get attribute overrides the target attribute of the < fo rm> element.
The fo rmta r get attribute can be used with type="submit" and type="image" .
Example
A form with two submit buttons, with different target windows:
<form action="/action_page.php">
F i r s t name: <input t yp e = " t e xt " name="fname"><br>
Last name: <input t yp e = " t e xt " name="lname"><br>
<input type="submit" value="Submit as normal">
<input type="submit" f ormtarget="_blank"
value="Submit t o a new window">
</form>
Always specify the size of images. If the browser does not know the size, the page
will flicker while images load.
92
Example
Define an image as the submit button, with height and width attributes:
ThelistAttribute
The l i s t attribute refers to a < d a t a l i s t > element that contains pre-defined
options for an <input> element.
Example
An <input> element with pre-defined values in a <datalist>:
< d a t a l i s t id="browsers">
<option value = " I nternet Explorer">
<option value="Firef ox">
<option value="Chrome">
<option value="Opera">
<option value="Saf ari">
</datalist>
The min and max attributes work with the following input types: number, range,
date, datetime-local, month, time and week.
Example
<input> elements with min and max values:
93
ThemultipleAttribute
The mul t ip l e attribute specifies that the user is allowed to enter more than one
value in the <input> element.
The mul t ip l e attribute works with the following input types: email, and file.
Example
A file upload field that accepts multiple values:
ThepatternAttribute
The pattern attribute specifies a regular expression that the < input > element's
value is checked against.
The pattern attribute works with the following input types: text, search, url, tel,
email, and password.
Tip: Use the global title attribute to describe the pattern to help the user.
Example
An input field that can contain only three letters (no numbers or special
characters):
TheplaceholderAttribute
The p lacehold er attribute specifies a hint that describes the expected value of an
input field (a sample value or a short description of the format).
The hint is displayed in the input field before the user enters a value.
The p lacehold er attribute works with the following input types: text, search, url,
tel, email, and password.
94
Example
An input field with a placeholder text:
TherequiredAttribute
The re qui r ed attribute specifies that an input field must be filled out before
submitting the form.
The re qui r ed attribute works with the following input types: text, search, url, tel,
email, password, date pickers, number, checkbox, radio, and file.
Example
A required input field:
ThestepAttribute
The step attribute specifies the legal number intervals for an < inpu t> element.
Tip: The step attribute can be used together with the max and min attributes to
create a range of legal values.
The step attribute works with the following input types: number, range, date,
datetime-local, month, time and week.
Example
An input field with a specified legal number intervals:
95