Chapter 2: HTML: Outline
Chapter 2: HTML: Outline
Chapter 2: HTML: Outline
OUTLINE
– What is HTML?
– HTML tags
– creating HTML documents
– Page structure using html5
– HTML List
– Special characters
– HTML Tables
– HTML (5) Forms
– HTML Frames
1
HTML: HyperText Markup Language
• HTML documents are simply text documents with
a specific form
– Documents comprised of content and markup tags
– Content: actual information being conveyed
– The markup tags tell the Web browser how to display
the page
– An HTML file must have an htm or html file extension
– An HTML file can be created using a simple text editor
2
Our First Example
• If you are running Windows, start Notepad
• Type in the following:
<html>
<head>
<title>Title of page</title>
</head>
<body>
This is my first homepage. <b>This text is bold</b>
</body>
</html>
3
HTML Tags
• HTML tags are used to mark-up HTML
elements
– Surrounded by angle brackets < and >
– HTML tags normally come in pairs, like <tagname>
(start tag) and </tagname> (end tag)
– The text between the start and end tags is the
element content
– Not case-sensitive
– Follow the latest web standards:
• Use lowercase tags
4
Tag Attributes
• Tags can have attributes that provide additional information
to an HTML element
– Attributes always come in name/value pairs like:
– name=“value”
– Attributes are always specified in the start tag
– Attribute values should always be enclosed in quotes. Double quotes
are most common.
– Also case-insensitive: however, lowercase is recommended
6
Tags Attributes
• Tags can have attributes
– Attributes specify properties and behavior
– Example: Attribute alt with value "logo"
<img src="logo.gif" alt="logo" />
<div style="background:skyblue">
This is a div</div>
</body>
</html>
8
HTML Document Structure
• Entire document enclosed within <html> and </html>
tags
• Two subparts:
– Head
• Enclosed within <head> and </head>
• Within the head, more tags can be used to specify title of the
page, meta-information, etc.
– Body
• Enclosed within <body> and </body>
• Within the body, content is to be displayed
• Other tags can be embedded in the body
9
The <head> Section
• Contains information that doesn’t show directly
on the viewable page
• Starts after the <!doctype> declaration
• Begins with <head> and ends with </head>
• Contains mandatory single <title> tag
• Can contain some other tags, e.g.
– <meta>
– <script>
– <style>
– <!–- comments -->
10
<head> Section: <title> tag
• Title should be placed between <head> and
</head> tags
<title>Telerik Academy – Winter Season 2009/2010
</title>
12
<head> Section: <script>
• The <script> element is used to embed
scripts into an HTML document
– Script are executed in the client's Web browser
– Scripts can live in the <head> and in the <body>
sections
• Supported client-side scripting languages:
– JavaScript (it is not Java!)
– VBScript
– JScript
13
The <script> Tag – Example
<!DOCTYPE HTML> scripts-example.html
<html>
<head>
<title>JavaScript Example</title>
<script type="text/javascript">
function sayHello() {
document.write("<p>Hello World!<\/p>");
}
</script>
</head>
<body>
<script type=
"text/javascript">
sayHello();
</script>
</body>
</html>
14
<head> Section: <style>
• The <style> element embeds formatting
information (CSS styles) into an HTML page
<html> style-example.html
<head>
<style type="text/css">
p { font-size: 12pt; line-height: 12pt; }
p:first-letter { font-size: 200%; }
span { text-transform: uppercase; }
</style>
</head>
<body>
<p>Styles demo.<br />
<span>Test uppercase</span>.
</p>
</body>
</html> 15
Comments: <!-- --> Tag
• Comments can exist anywhere between the
<html></html> tags
• Comments start with <!-- and end with -->
<!–- AMU Logo (a JPG file) -->
<img src="logo.jpg" alt=“amu Logo">
17
Text Formatting
• Text formatting tags modify the text between the
opening tag and the closing tag
– Ex. <b>Hello</b> makes “Hello” bold
<b></b> bold
<i></i> italicized
<u></u> underlined
<sup></sup> Samplesuperscript
<sub></sub> Samplesubscript
<strong></strong> strong
<em></em> emphasized
<pre></pre> Preformatted text
<blockquote></blockquote> Quoted text block
<del></del> Deleted text – strike through
18
Text Formatting – Example
text-formatting.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>Page Title</title>
</head>
<body>
<h1>Notice</h1>
<p>This is a <em>sample</em> Web page.</p>
<p><pre>Next paragraph:
preformatted.</pre></p>
<h2>More Info</h2>
<p>Specifically, we’re using XHMTL 1.0 transitional.<br />
Next line.</p>
</body>
</html>
19
Lists (ordered and
unordered) and
definition lists
20
Ordered Lists: <ol> Tag
• Create an Ordered List using <ol></ol>:
<ol type="1">
<li>Apple</li>
<li>Orange</li>
<li>Grapefruit</li>
</ol>
• Attribute values for type are 1, A, a, I, or i
1. Apple i. Apple
2. Orange ii. Orange
3. Grapefruit iii. Grapefruit
a. Apple
A. Apple b. Orange I. Apple
B. Orange c. Grapefruit II. Orange
C. Grapefruit III. Grapefruit
21
Unordered Lists: <ul> Tag
• Create an Unordered List using <ul></ul>:
<ul type="disk">
<li>Apple</li>
<li>Orange</li>
<li>Grapefruit</li>
</ul>
• Attribute values for type are:
– disc, circle or square
<ul type="disc">
<li>Apple</li>
<li>Orange</li>
<li>Grapefruit</li>
</ul>
<dl>
<dt>HTML</dt>
<dd>A markup lang…</dd>
</dl>
24
HTML Special Characters
Symbol Name HTML Entity Symbol
Copyright Sign © ©
Registered Trademark Sign ® ®
Trademark Sign ™ ™
Less Than < <
Greater Than > >
Ampersand & &
Non-breaking Space
Em Dash — —
Quotation Mark " "
Euro € €
British Pound £ £
Japanese Yen ¥ ¥
25
Special Chars – Example (2)
<p>[>> Welcome special-chars.html
<<]</p>
<p>►I have following cards:
A♣, K♦ and 9♥.</p>
<p>►I prefer hard rock ♫
music ♫</p>
<p>© 2006 by Svetlin Nakov &
his team</p>
<p>Telerik Academy™</p>
26
Block and Inline Elements
• Block elements add a line break before and
after them
– <div> is a block element
– Other block elements are <table>, <hr>,
headings, lists, <p> and etc.
• Inline elements don’t break the text before
and after them
– <span> is an inline element
– Most HTML elements are inline, e.g. <a>
27
The <div> Tag
• <div> creates logical divisions within a page
• Block style element
• Used with CSS
• Example:
div-and-span.html
<div style="font-size:24px; color:red">DIV
example</div>
<p>This one is <span style="color:red; font-
weight:bold">only a test</span>.</p>
28
The <span> Tag
• Inline style element
• Useful for modifying a specific portion of text
– Don't create a separate area (paragraph) in
the document
• Very useful with CSS
span.html
<p>This one is <span style="color:red; font-
weight:bold">only a test</span>.</p>
<p>This one is another <span style="font-size:32px;
font-weight:bold">TEST</span>.</p>
29
Working with HTML Tables
• Tables represent tabular data
the table
<tr></tr>: create a table row
<td></td>: create tabular data (cell)
• Tables should not be used for layout. Use CSS floats and positioning styles
instead
30
HTML Tables (2)
• Start and end of a table
<table> ... </table>
31
Simple HTML Tables – Example
<table cellspacing="0" cellpadding="5">
<tr>
<td><img src="ppt.gif"></td>
<td><a href="lecture1.ppt">Lecture 1</a></td>
</tr>
<tr>
<td><img src="ppt.gif"></td>
<td><a href="lecture2.ppt">Lecture 2</a></td>
</tr>
<tr>
<td><img src="zip.gif"></td>
<td><a href="lecture2-demos.zip">
Lecture 2 - Demos</a></td>
</tr>
</table>
32
Simple HTML Tables – Example (2)
<table cellspacing="0" cellpadding="5">
<tr>
<td><img src="ppt.gif"></td>
<td><a href="lecture1.ppt">Lecture 1</a></td>
</tr>
<tr>
<td><img src="ppt.gif"></td>
<td><a href="lecture2.ppt">Lecture 2</a></td>
</tr>
<tr>
<td><img src="zip.gif"></td>
<td><a href="lecture2-demos.zip">
Lecture 2 - Demos</a></td>
</tr>
</table>
33
Complete HTML Tables
• Table rows split into three semantic sections:
header, body and footer
– <thead> denotes table header and contains <th>
elements, instead of <td> elements
– <tbody> denotes collection of table rows that
contain the very data
– <tfoot> denotes table footer but comes BEFORE
the <tbody> tag
– <colgroup> and <col> define columns (most often
used to set column widths)
34
Complete HTML Table: Example
<table>
<colgroup>
columns
<col style="width:100px" /><col />
</colgroup> th
<thead>
header
<tr><th>Column 1</th><th>Column 2</th></tr>
</thead>
<tfoot>
footer
<tr><td>Footer 1</td><td>Footer 2</td></tr>
</tfoot>
<tbody>
Last comes the body (data)
<tr><td>Cell 1.1</td><td>Cell 1.2</td></tr>
<tr><td>Cell 2.1</td><td>Cell 2.2</td></tr>
</tbody>
</table>
35
Complete HTML Table:
By default, header text is
Example (2)
bold and centered.
<table> table-full.html
<colgroup>
<col style="width:200px" /><col />
</colgroup>
<thead>
<tr><th>Column 1</th><th>Column 2</th></tr>
</thead>
<tfoot>
<tr><td>Footer 1</td><td>Footer 2</td></tr>
</tfoot>
<tbody>
<tr><td>Cell Although the footer
1.1</td><td>Cell is
1.2</td></tr>
<tr><td>Cell before the data in 2.2</td></tr>
2.1</td><td>Cell the
</tbody> code, it is displayed last
</table> 36
Nested Tables
• Table data “cells” (<td>) can contain nested tables
(tables within tables):
<table> nested-tables.html
<tr>
<td>Contact:</td>
<td>
<table>
<tr>
<td>First Name</td>
<td>Last Name</td>
</tr>
</table>
</td>
</tr>
</table>
37
Cell Spacing and Padding
• Tables have two important attributes:
cellspacing cellpadding
39
Column and Row Span
• Table cells have two important attributes:
colspan rowspan
colspan="1" colspan="1" rowspan="2" rowspan="1"
colspan="2" rowspan="1"
Defines how Defines how
many columns many rows the
the cell occupies cell occupies 40
Column and Row
table-colspan-rowspan.html
Span – Example
<table cellspacing="0">
<tr class="1"><td>Cell[1,1]</td>
<td colspan="2">Cell[2,1]</td></tr>
<tr class=“2"><td>Cell[1,2]</td>
<td rowspan="2">Cell[2,2]</td>
<td>Cell[3,2]</td></tr>
<tr class=“3"><td>Cell[1,3]</td>
<td>Cell[2,3]</td></tr>
</table>
41
Column and Row Span –
Example (2)
table-colspan-rowspan.html
<table cellspacing="0">
<tr class="1"><td>Cell[1,1]</td>
<td colspan="2">Cell[2,1]</td></tr>
<tr class=“2"><td>Cell[1,2]</td>
<td rowspan="2">Cell[2,2]</td>
<td>Cell[3,2]</td></tr>
<tr class=“3"><td>Cell[1,3]</td>
<td>Cell[2,3]</td></tr>
</table>
Cell[1,1] Cell[2,1]
Cell[1,2] Cell[3,2]
Cell[2,2]
Cell[1,3] Cell[2,3]
42
HTML Forms
• Forms are the primary method for gathering
data from site visitors
• Create a form block
Thewith
“method" attribute tells how
<form></form> the form data should be sent – via
GET or POST request
• Example:
<form name="myForm" method="post"
action="path/to/some-script.php">
...
</form>
The "action" attribute tells where
the form data should be sent
43
Form Fields
• Single-line text input fields:
<input type="text" name="FirstName" value="This
is a text field" />
45
Form Input Controls
• Checkboxes:
<input type="checkbox" name="fruit"
value="apple”/>
• Radio buttons:
<input type="radio" name="title" value="Mr." />
• Submit button:
<input type="submit" name="submitBtn"
value="Apply Now" />
47
Other Form Controls (2)
• Reset button – brings the form to its initial state
<input type="reset" name="resetBtn"
value="Reset the form" />
• Image button – acts like submit but image is
displayed and click coordinates are sent
<input type="image" src="submit.gif"
name="submitBtn" alt="Submit" />
• Ordinary button – used for JavaScript, no default
action
<input type="button" value="click me" />
48
Other Form Controls (3)
• Password input – a text field which masks the
entered text with * signs
<input type="password" name="pass" />
• Multiple select field – displays the list of items in
multiple lines, instead of one.
<select name="products" multiple="multiple">
<option value="Value 1"
selected="selected">keyboard</option>
<option value="Value 2">mouse</option>
<option value="Value 3">speakers</option>
</select>
49
Other Form Controls (4)
• File input – a field used for uploading files
<input type="file" name="photo" />
– When used, it requires the form element to have a
specific attribute:
<form enctype="multipart/form-data">
...
<input type="file" name="photo" />
...
</form>
50
Labels
• Form labels are used to associate an explanatory
text to a form field using the field's ID.
<label for="fn">First Name</label>
<input type="text" id="fn" />
51
form.html HTML Forms – Example
<form method="post" action="apply-now.php">
<input name="subject" type="hidden" value="Class" />
<fieldset><legend>Academic information</legend>
<label for="degree">Degree</label>
<select name="degree" id="degree">
<option value="BA">Bachelor of Art</option>
<option value="BS">Bachelor of Science</option>
<option value="MBA" selected="selected">Master of
Business Administration</option>
</select>
<br />
<label for="studentid">Student ID</label>
<input type="password" name="studentid" />
</fieldset>
<fieldset><legend>Personal Details</legend>
<label for="fname">First Name</label>
<input type="text" name="fname" id="fname" />
<br />
<label for="lname">Last Name</label>
<input type="text" name="lname" id="lname" /> 52
HTML Forms – Example (2)
form.html (continued)
<br />
Gender:
<input name="gender" type="radio" id="gm" value="m" />
<label for="gm">Male</label>
<input name="gender" type="radio" id="gf" value="f" />
<label for="gf">Female</label>
<br />
<label for="email">Email</label>
<input type="text" name="email" id="email" />
</fieldset>
<p>
<textarea name="terms" cols="30" rows="4"
readonly="readonly">TERMS AND CONDITIONS...</textarea>
</p>
<p>
<input type="submit" name="submit" value="Send Form" />
<input type="reset" value="Clear Form" />
</p>
</form>
53
HTML Forms – Example (3)
form.html (continued)
54
TabIndex
• The tabindex HTML attribute controls the
order in which form fields and hyperlinks are
focused when repeatedly pressing the TAB key
– tabindex="0" (zero) - "natural" order
– If X < Y, then elements with tabindex="X" are
iterated before elements with tabindex="Y"
– Elements with negative tabindex are skipped,
however, this is not defined in the standard
– Is in the range [0,32767]
<input type="text" tabindex="10" />
55
HTML 5 form
Objectives
In this topic you’ll:
• Build a form using the new HTML5 input types.
• Specify an input element in a form as the one that should
receive the focus by default.
• Use self-validating input elements.
• Specify temporary placeholder text in various input elements
• Use auto complete input elements that help users re-enter
text that they’ve previously entered in a form.
• Use a data list to specify a list of values that can be entered in
an input element and to auto complete entries as the user
types.
56
HTML5: New form elements
57
Input-datalist Elements and autocomplete
Attribute
58
Cont..
Error-Prevention Tip :
• The autocomplete attribute works only if you
specify a name or id attribute for the input
element.
59
Output
• Once you fill a data in the text box ..html 5 can
recover the previous input. *we use a datalist element to
obtain the user’s birth month.
60
HTML Frames
• Frames provide a way to show multiple HTML
documents in a single Web page
• The page can be split into separate views (frames)
horizontally and vertically
• Frames were popular in the early ages of HTML
development, but now their usage is rejected
• Frames are not supported by all user agents
(browsers, search engines, etc.)
– A <noframes> element is used to provide content for non-
compatible agents.
61
HTML Frames – Demo
frames.html
<html>
<head><title>Frames Example</title></head>
<frameset cols="180px,*,150px">
<frame src="left.html" />
<frame src="middle.html" />
<frame src="right.html" />
</frameset>
</html>
63
Structuring Web Page
using HTML 5
64
65
<nav>
<aside>
<section>
<footer>
66