89
HTML Basics HTML, Text, Images, Tables

HyperText Markup Language - HTML

Embed Size (px)

Citation preview

Page 1: HyperText Markup Language - HTML

HTML Basics

HTML, Text, Images, Tables

Page 2: HyperText Markup Language - HTML

Table of Contents

© Sun Technologies Inc. 2

1. Introduction to HTMLHow the Web Works?What is a Web Page?My First HTML PageBasic Tags: Hyperlinks, Images, FormattingHeadings and Paragraphs

2. HTML in DetailsThe <!DOCTYPE> DeclarationThe <head> Section: Title, Meta, Script, Style

Page 3: HyperText Markup Language - HTML

Table of Contents (2)

© Sun Technologies Inc. 3

2. HTML in Details• The <body> Section• Text Styling and Formatting Tags• Hyperlinks: <a>, Hyperlinks and Sections• Images: <img>• Lists: <ol>, <ul> and <dl>

3. The <div> and <span> elements4. HTML Tables5. HTML Forms

Page 4: HyperText Markup Language - HTML

How the Web Works?• WWW use classical client / server

architecture• HTTP is text-based request-response protocol

4

Page request

Client running a Web

Browser

Server running Web Server

Software (IIS, Apache, etc.)

Server response

HTTP

HTTP

© Sun Technologies Inc.

Page 5: HyperText Markup Language - HTML

What is a Web Page?• Web pages are text files containing HTML• HTML – Hyper Text Markup Language

• A notation for describing• document structure (semantic markup)• formatting (presentation markup)

• The markup tags provide information about the page content structure

5© Sun Technologies Inc.

Page 6: HyperText Markup Language - HTML

Creating HTML Pages• An HTML file must have an .htm or .html file extension

• HTML files can be created with text editors:• NotePad, NotePad ++, PSPad

• Or HTML editors (WYSIWYG Editors):• Microsoft FrontPage• Macromedia Dreamweaver• Netscape Composer• Microsoft Word• Visual Studio

6© Sun Technologies Inc.

Page 7: HyperText Markup Language - HTML

HTML BasicsText, Images, Tables, Forms

Page 8: HyperText Markup Language - HTML

HTML Structure• HTML is comprised of “elements” and “tags”

• Begins with <html> and ends with </html>• Elements (tags) are nested one inside another:

• Tags have attributes:

• HTML describes structure using two main sections: <head> and <body>

8

<html> <head></head> <body></body> </html>

<img src="logo.jpg" alt="logo" />

© Sun Technologies Inc.

Page 9: HyperText Markup Language - HTML

HTML Code Formatting• The HTML source code should be formatted to increase readability and facilitate debugging.

• Every block element should start on a new line.

• Every nested (block) element should be indented.

• Browsers ignore multiple whitespaces in the page source, so formatting is harmless.

• For performance reasons, formatting can be sacrificed

© Sun Technologies Inc. 9

Page 10: HyperText Markup Language - HTML

First HTML Page

10

<!DOCTYPE HTML><html> <head> <title>My First HTML Page</title> </head> <body> <p>This is some text...</p> </body></html>

test.html

© Sun Technologies Inc.

Page 11: HyperText Markup Language - HTML

<!DOCTYPE HTML><html> <head> <title>My First HTML Page</title> </head> <body> <p>This is some text...</p> </body></html>

First HTML Page: Tags

11

Opening tag

Closing tag

An HTML element consists of an opening tag, a closing tag and the content inside.

© Sun Technologies Inc.

Page 12: HyperText Markup Language - HTML

<!DOCTYPE HTML><html> <head> <title>My First HTML Page</title> </head> <body> <p>This is some text...</p> </body></html>

First HTML Page: Header

12

HTML header

© Sun Technologies Inc.

Page 13: HyperText Markup Language - HTML

<!DOCTYPE HTML><html> <head> <title>My First HTML Page</title> </head> <body> <p>This is some text...</p> </body></html>

First HTML Page: Body

© Sun Technologies Inc. 13

HTML body

Page 14: HyperText Markup Language - HTML

Some Simple Tags• Hyperlink Tags

• Image Tags

• Text formatting tags

© Sun Technologies Inc. 14

<a href="http://www.telerik.com/" title="Telerik">Link to Telerik Web site</a>

<img src="logo.gif" alt="logo" />

This text is <em>emphasized.</em><br />new line<br />This one is <strong>more emphasized.</strong>

Page 15: HyperText Markup Language - HTML

Some Simple Tags – Example

© Sun Technologies Inc. 15

<!DOCTYPE HTML><html><head> <title>Simple Tags Demo</title></head><body><a href="http://www.telerik.com/" title= "Telerik site">This is a link.</a><br /><img src="logo.gif" alt="logo" /><br /><strong>Bold</strong> and <em>italic</em> text.</body></html>

some-tags.html

Page 16: HyperText Markup Language - HTML

Some Simple Tags – Example (2)

16

<!DOCTYPE HTML><html><head> <title>Simple Tags Demo</title></head><body><a href="http://www.telerik.com/" title= "Telerik site">This is a link.</a><br /><img src="logo.gif" alt="logo" /><br /><strong>Bold</strong> and <em>italic</em> text.</body></html>

some-tags.html

© Sun Technologies Inc.

Page 17: HyperText Markup Language - HTML

Tags Attributes• Tags can have attributes• Attributes specify properties and behavior• Example:

• Few attributes can apply to every element:• id, style, class, title• The id is unique in the document• Content of title attribute is displayed as hint when the element is

hovered with the mouse• Some elements have obligatory attributes

17

<img src="logo.gif" alt="logo" />

Attribute alt with value "logo"

© Sun Technologies Inc.

Page 18: HyperText Markup Language - HTML

Headings and Paragraphs• Heading Tags (h1 – h6)

• Paragraph Tags

• Sections: div and span

18

<p>This is my first paragraph</p><p>This is my second paragraph</p>

<h1>Heading 1</h1><h2>Sub heading 2</h2><h3>Sub heading 3</h3>

<div style="background: skyblue;"> This is a div</div>

© Sun Technologies Inc.

Page 19: HyperText Markup Language - HTML

Headings and Paragraphs – Example

19

<!DOCTYPE HTML><html> <head><title>Headings and paragraphs</title></head> <body> <h1>Heading 1</h1> <h2>Sub heading 2</h2> <h3>Sub heading 3</h3>

<p>This is my first paragraph</p> <p>This is my second paragraph</p>

<div style="background:skyblue"> This is a div</div> </body></html>

headings.html

© Sun Technologies Inc.

Page 20: HyperText Markup Language - HTML

<!DOCTYPE HTML><html> <head><title>Headings and paragraphs</title></head> <body> <h1>Heading 1</h1> <h2>Sub heading 2</h2> <h3>Sub heading 3</h3>

<p>This is my first paragraph</p> <p>This is my second paragraph</p>

<div style="background:skyblue"> This is a div</div> </body></html>

Headings and Paragraphs – Example (2)

20

headings.html

© Sun Technologies Inc.

Page 21: HyperText Markup Language - HTML

Introduction to HTMLHTML Document Structure in Depth

Page 22: HyperText Markup Language - HTML

Preface• It is important to have the correct vision and attitude

towards HTML• HTML is only about structure, not appearance• Browsers tolerate invalid HTML code and parse errors – you

should not.

22© Sun Technologies Inc.

Page 23: HyperText Markup Language - HTML

The <!DOCTYPE> Declaration• HTML documents must start with a

document type definition (DTD)• It tells web browsers what type is the

served code• Possible versions: HTML 4.01, XHTML 1.0

(Transitional or Strict), XHTML 1.1, HTML 5• Example:

• See http://w3.org/QA/2002/04/valid-dtd-list.html for a list of possible doctypes

23

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

© Sun Technologies Inc.

Page 24: HyperText Markup Language - HTML

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 -->

24© Sun Technologies Inc.

Page 25: HyperText Markup Language - HTML

<head> Section: <title> tag• Title should be placed between <head> and

</head> tags

• Used to specify a title in the window title bar• Search engines and people rely on titles

25

<title>Telerik Academy – Winter Season 2009/2010 </title>

© Sun Technologies Inc.

Page 26: HyperText Markup Language - HTML

<head> Section: <meta>• Meta tags additionally describe the content

contained within the page

26

<meta name="description" content="HTML tutorial" />

<meta name="keywords" content="html, web design, styles" /> <meta name="author" content="Chris Brewer" />

<meta http-equiv="refresh" content="5; url=http://www.telerik.com" />

© Sun Technologies Inc.

Page 27: HyperText Markup Language - HTML

<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

27© Sun Technologies Inc.

Page 28: HyperText Markup Language - HTML

The <script> Tag – Example

28

<!DOCTYPE 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>

scripts-example.html

© Sun Technologies Inc.

Page 29: HyperText Markup Language - HTML

<head> Section: <style>• The <style> element embeds formatting

information (CSS styles) into an HTML page

29

<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>

style-example.html

© Sun Technologies Inc.

Page 30: HyperText Markup Language - HTML

Comments: <!-- --> Tag• Comments can exist anywhere between the <html></html> tags

• Comments start with <!-- and end with -->

30

<!–- Telerik Logo (a JPG file) --><img src="logo.jpg" alt=“Telerik Logo"><!–- Hyperlink to the web site --><a href="http://telerik.com/">Telerik</a><!–- Show the news table --><table class="newstable">...

© Sun Technologies Inc.

Page 31: HyperText Markup Language - HTML

<body> Section: Introduction• The <body> section describes the viewable portion

of the page• Starts after the <head> </head> section• Begins with <body> and ends with </body>

31

<html> <head><title>Test page</title></head> <body> <!-- This is the Web page body --> </body></html>

© Sun Technologies Inc.

Page 32: HyperText Markup Language - HTML

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

32© Sun Technologies Inc.

Page 33: HyperText Markup Language - HTML

Text Formatting – Example

33

<!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>

text-formatting.html

© Sun Technologies Inc.

Page 34: HyperText Markup Language - HTML

Text Formatting – Example (2)

34

<!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>

text-formatting.html

© Sun Technologies Inc.

Page 35: HyperText Markup Language - HTML

Hyperlinks: <a> Tag

• Link to a document called form.html on the same server in the same directory:

• Link to a document called parent.html on the same server in the parent directory:

• Link to a document called cat.html on the same server in the subdirectory stuff:

35

<a href="form.html">Fill Our Form</a>

<a href="../parent.html">Parent</a>

<a href="stuff/cat.html">Catalog</a>

© Sun Technologies Inc.

Page 36: HyperText Markup Language - HTML

Hyperlinks: <a> Tag (2)• Link to an external Web site:

• Always use a full URL, including "http://", not just "www.somesite.com"

• Using the target="_blank" attribute opens the link in a new window

• Link to an e-mail address:

36

<a href="http://www.devbg.org" target="_blank">BASD</a>

<a href="mailto:[email protected]?subject=Bug+Report">Please report bugs here (by e-mail only)</a>

© Sun Technologies Inc.

Page 37: HyperText Markup Language - HTML

Hyperlinks: <a> Tag (3)• Link to a document called apply-now.html• On the same server, in same directory• Using an image as a link button:

• Link to a document called index.html• On the same server, in the subdirectory english

of the parent directory:

37

<a href="apply-now.html"><img src="apply-now-button.jpg" /></a>

<a href="../english/index.html">Switch to English version</a>

© Sun Technologies Inc.

Page 38: HyperText Markup Language - HTML

Hyperlinks and Sections• Link to another location in the same document:

• Link to a specific location in another document:

38

<a href="#section1">Go to Introduction</a>...<h2 id="section1">Introduction</h2>

<a href="chapter3.html#section3.1.1">Go to Section 3.1.1</a>

<!–- In chapter3.html -->...<div id="section3.1.1"> <h3>3.1.1. Technical Background</h3></div>

© Sun Technologies Inc.

Page 39: HyperText Markup Language - HTML

Hyperlinks – Example

39

<a href="form.html">Fill Our Form</a> <br /><a href="../parent.html">Parent</a> <br /><a href="stuff/cat.html">Catalog</a> <br /><a href="http://www.devbg.org" target="_blank">BASD</a> <br /><a href="mailto:[email protected]?subject=Bug Report">Please report bugs here (by e-mail only)</a><br /><a href="apply-now.html"><img src="apply-now-button.jpg” /></a> <br /><a href="../english/index.html">Switch to English version</a> <br />

hyperlinks.html

© Sun Technologies Inc.

Page 40: HyperText Markup Language - HTML

<a href="form.html">Fill Our Form</a> <br /><a href="../parent.html">Parent</a> <br /><a href="stuff/cat.html">Catalog</a> <br /><a href="http://www.devbg.org" target="_blank">BASD</a> <br /><a href="mailto:[email protected]?subject=Bug Report">Please report bugs here (by e-mail only)</a><br /><a href="apply-now.html"><img src="apply-now-button.jpg” /></a> <br /><a href="../english/index.html">Switch to English version</a> <br />

hyperlinks.htmlHyperlinks – Example (2)

40© Sun Technologies Inc.

Page 41: HyperText Markup Language - HTML

Links to the Same Document – Example

41

<h1>Table of Contents</h1>

<p><a href="#section1">Introduction</a><br /><a href="#section2">Some background</A><br /><a href="#section2.1">Project History</a><br />...the rest of the table of contents...

<!-- The document text follows here -->

<h2 id="section1">Introduction</h2>... Section 1 follows here ...<h2 id="section2">Some background</h2>... Section 2 follows here ...<h3 id="section2.1">Project History</h3>... Section 2.1 follows here ...

links-to-same-document.html

© Sun Technologies Inc.

Page 42: HyperText Markup Language - HTML

Links to the Same Document – Example (2)

42

<h1>Table of Contents</h1>

<p><a href="#section1">Introduction</a><br /><a href="#section2">Some background</A><br /><a href="#section2.1">Project History</a><br />...the rest of the table of contents...

<!-- The document text follows here -->

<h2 id="section1">Introduction</h2>... Section 1 follows here ...<h2 id="section2">Some background</h2>... Section 2 follows here ...<h3 id="section2.1">Project History</h3>... Section 2.1 follows here ...

links-to-same-document.html

© Sun Technologies Inc.

Page 43: HyperText Markup Language - HTML

Inserting an image with <img> tag:

Image attributes:

Example:

Images: <img> tag

src Location of image file (relative or absolute)alt Substitute text for display (e.g. in text mode)height Number of pixels of the heightwidth Number of pixels of the widthborder Size of border, 0 for no border

<img src="/img/basd-logo.png">

<img src="./php.png" alt="PHP Logo" />© Sun Technologies Inc. 43

Page 44: HyperText Markup Language - HTML

Miscellaneous Tags

• <hr />: Draws a horizontal rule (line):

• <center></center>: Deprecated!

• <font></font>:

44

<hr size="5" width="70%" />

<center>Hello World!</center>

<font size="3" color="blue">Font3</font><font size="+4" color="blue">Font+4</font>

© Sun Technologies Inc.

Page 45: HyperText Markup Language - HTML

Miscellaneous Tags – Example

45

<html> <head> <title>Miscellaneous Tags Example</title> </head> <body> <hr size="5" width="70%" /> <center>Hello World!</center> <font size="3" color="blue">Font3</font> <font size="+4" color="blue">Font+4</font> </body></html>

misc.html

© Sun Technologies Inc.

Page 46: HyperText Markup Language - HTML

a. Appleb. Orangec. Grapefruit

Ordered Lists: <ol> Tag• Create an Ordered List using <ol></ol>:

• Attribute values for type are 1, A, a, I, or i

46

1. Apple2. Orange3. GrapefruitA. AppleB. OrangeC. Grapefruit

I. AppleII. OrangeIII. Grapefruit

i. Appleii. Orangeiii. Grapefruit

<ol type="1"> <li>Apple</li> <li>Orange</li> <li>Grapefruit</li></ol>

© Sun Technologies Inc.

Page 47: HyperText Markup Language - HTML

Unordered Lists: <ul> Tag• Create an Unordered List using <ul></ul>:

• Attribute values for type are:• disc, circle or square

47

• Apple• Orange• Pear

o Appleo Orangeo Pear

Apple Orange Pear

<ul type="disk"> <li>Apple</li> <li>Orange</li> <li>Grapefruit</li></ul>

© Sun Technologies Inc.

Page 48: HyperText Markup Language - HTML

Definition lists: <dl> tag• Create definition lists using <dl>

• Pairs of text and associated definition; text is in <dt> tag, definition in <dd> tag

• Renders without bullets• Definition is indented

48

<dl><dt>HTML</dt><dd>A markup language …</dd><dt>CSS</dt>

<dd>Language used to …</dd></dl>

© Sun Technologies Inc.

Page 49: HyperText Markup Language - HTML

Lists – Example

49

<ol type="1"> <li>Apple</li> <li>Orange</li> <li>Grapefruit</li></ol>

<ul type="disc"> <li>Apple</li> <li>Orange</li> <li>Grapefruit</li></ul>

<dl> <dt>HTML</dt> <dd>A markup lang…</dd></dl>

lists.html

© Sun Technologies Inc.

Page 50: HyperText Markup Language - HTML

HTML Special Characters

£&pound;British Pound€&#8364;Euro"&quot;Quotation Mark

¥&yen;Japanese Yen

—&mdash;Em Dash&nbsp;Non-breaking Space

&&amp;Ampersand>&gt;Greater Than<&lt;Less Than™&trade;Trademark Sign®&reg;Registered Trademark Sign©&copy;Copyright Sign

SymbolHTML EntitySymbol Name

50© Sun Technologies Inc

Page 51: HyperText Markup Language - HTML

Special Characters – Example

51

<p>[&gt;&gt;&nbsp;&nbsp;Welcome &nbsp;&nbsp;&lt;&lt;]</p> <p>&#9658;I have following cards: A&#9827;, K&#9830; and 9&#9829;.</p> <p>&#9658;I prefer hard rock &#9835; music &#9835;</p> <p>&copy; 2006 by Svetlin Nakov &amp; his team</p> <p>Telerik Academy™</p>

special-chars.html

© Sun Technologies Inc.

Page 52: HyperText Markup Language - HTML

Special Chars – Example (2)

52

<p>[&gt;&gt;&nbsp;&nbsp;Welcome &nbsp;&nbsp;&lt;&lt;]</p> <p>&#9658;I have following cards: A&#9827;, K&#9830; and 9&#9829;.</p> <p>&#9658;I prefer hard rock &#9835; music &#9835;</p> <p>&copy; 2006 by Svetlin Nakov &amp; his team</p> <p>Telerik Academy™</p>

special-chars.html

© Sun Technologies Inc.

Page 53: HyperText Markup Language - HTML

Using <DIV> and <SPAN> Block and Inline Elements

Page 54: HyperText Markup Language - HTML

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>

54© Sun Technologies Inc.

Page 55: HyperText Markup Language - HTML

The <div> Tag

• <div> creates logical divisions within a page• Block style element• Used with CSS• Example:

55

<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>

div-and-span.html

© Sun Technologies Inc.

Page 56: HyperText Markup Language - HTML

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

56

<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>

span.html

© Sun Technologies Inc.

Page 57: HyperText Markup Language - HTML

HTML Tables

Page 58: HyperText Markup Language - HTML

HTML Tables

• Tables represent tabular data• A table consists of one or several rows

• Each row has one or more columns

• Tables comprised of several core tags: <table></table>: begin / end the table<tr></tr>: create a table row<td></td>: create tabular data (cell)

• Tables should not be used for layout. Use CSS floats 58© Sun Technologies Inc.

Page 59: HyperText Markup Language - HTML

HTML Tables (2)

• Start and end of a table

• Start and end of a row

• Start and end of a cell in a row

59

<table> ... </table>

<tr> ... </tr>

<td> ... </td>

© Sun Technologies Inc.

Page 60: HyperText Markup Language - HTML

Simple HTML Tables – Example

60

<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>

© Sun Technologies Inc.

Page 61: HyperText Markup Language - HTML

<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>

Simple HTML Tables – Example (2)

61© Sun Technologies Inc.

Page 62: HyperText Markup Language - HTML

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)

62© Sun Technologies Inc.

Page 63: HyperText Markup Language - HTML

Complete HTML Table: Example

63

<table><colgroup> <col style="width:100px" /><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 1.1</td><td>Cell 1.2</td></tr> <tr><td>Cell 2.1</td><td>Cell 2.2</td></tr></tbody></table>

header

footer

Last comes the body (data)

th

columns

© Sun Technologies Inc.

Page 64: HyperText Markup Language - HTML

<table><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 1.1</td><td>Cell 1.2</td></tr> <tr><td>Cell 2.1</td><td>Cell 2.2</td></tr></tbody></table>

Complete HTML Table:Example (2)

64

table-full.html

Although the footer is before the data in

the code, it is displayed last

By default, header text is bold and

centered.

© Sun Technologies Inc.

Page 65: HyperText Markup Language - HTML

Nested Tables• Table data “cells” (<td>) can contain nested tables (tables within tables):

65

<table> <tr> <td>Contact:</td> <td> <table> <tr> <td>First Name</td> <td>Last Name</td> </tr> </table> </td> </tr></table>

nested-tables.html

© Sun Technologies Inc.

Page 66: HyperText Markup Language - HTML

cellpadding

Defines the empty space around the cell content

cellspacing

Defines the empty space between cells

Cell Spacing and Padding• Tables have two important attributes:

66

cell cell

cell cell

cell

cell

cell

cell

© Sun Technologies Inc.

Page 67: HyperText Markup Language - HTML

Cell Spacing and Padding – Example

67

<html> <head><title>Table Cells</title></head> <body> <table cellspacing="15" cellpadding="0"> <tr><td>First</td> <td>Second</td></tr> </table> <br/> <table cellspacing="0" cellpadding="10"> <tr><td>First</td><td>Second</td></tr> </table> </body></html>

table-cells.html

© Sun Technologies Inc.

Page 68: HyperText Markup Language - HTML

Cell Spacing and Padding – Example (2)

68

<html> <head><title>Table Cells</title></head> <body> <table cellspacing="15" cellpadding="0"> <tr><td>First</td> <td>Second</td></tr> </table> <br/> <table cellspacing="0" cellpadding="10"> <tr><td>First</td><td>Second</td></tr> </table> </body></html>

table-cells.html

© Sun Technologies Inc.

Page 69: HyperText Markup Language - HTML

rowspan

Defines how many rows the cell occupies

colspan

Defines how many columns the cell occupies

Column and Row Span• Table cells have two important attributes:

69

cell[1,1] cell[1,2]

cell[2,1]

colspan="1"

colspan="1"

colspan="2"

cell[1,1]

cell[1,2]

cell[2,1]

rowspan="2"

rowspan="1"

rowspan="1"

© Sun Technologies Inc.

Page 70: HyperText Markup Language - HTML

Column and Row Span – Example

70

<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>

table-colspan-rowspan.html

© Sun Technologies Inc.

Page 71: HyperText Markup Language - 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>

Column and Row Span –Example (2)

71

table-colspan-rowspan.html

Cell[2,3]Cell[1,3]

Cell[3,2]Cell[2,2]

Cell[1,2]

Cell[2,1]Cell[1,1]

© Sun Technologies Inc.

Page 72: HyperText Markup Language - HTML

HTML FormsEntering User Data from a Web

Page

Page 73: HyperText Markup Language - HTML

HTML Forms

• Forms are the primary method for gathering data from site visitors

• Create a form block with

• Example:

73

<form></form>

<form name="myForm" method="post" action="path/to/some-script.php"> ...</form> The "action" attribute tells where

the form data should be sent

The “method" attribute tells how the form data should be

sent – via GET or POST request

© Sun Technologies Inc.

Page 74: HyperText Markup Language - HTML

Form Fields• Single-line text input fields:

• Multi-line textarea fields:

• Hidden fields contain data not shown to the user:

• Often used by JavaScript code

76

<input type="text" name="FirstName" value="This is a text field" />

<textarea name="Comments">This is a multi-line text field</textarea>

<input type="hidden" name="Account" value="This is a hidden text field" />

© Sun Technologies Inc.

Page 75: HyperText Markup Language - HTML

Fieldsets• Fieldsets are used to enclose a group of related form fields:

75

<form method="post" action="form.aspx"> <fieldset> <legend>Client Details</legend> <input type="text" id="Name" /> <input type="text" id="Phone" /> </fieldset> <fieldset> <legend>Order Details</legend> <input type="text" id="Quantity" /> <textarea cols="40" rows="10" id="Remarks"></textarea> </fieldset></form>

© Sun Technologies Inc.

Page 76: HyperText Markup Language - HTML

Form Input Controls• Checkboxes:

• Radio buttons:

• Radio buttons can be grouped, allowing only one to be selected from a group:

76

<input type="checkbox" name="fruit" value="apple" />

<input type="radio" name="title" value="Mr." />

<input type="radio" name="city" value="Lom" /><input type="radio" name="city" value="Ruse" />

© Sun Technologies Inc.

Page 77: HyperText Markup Language - HTML

Other Form Controls• Dropdown menus:

• Submit button:

77

<select name="gender"> <option value="Value 1" selected="selected">Male</option> <option value="Value 2">Female</option> <option value="Value 3">Other</option></select>

<input type="submit" name="submitBtn" value="Apply Now" />

© Sun Technologies Inc.

Page 78: HyperText Markup Language - HTML

Other Form Controls (2)• Reset button – brings the form to its initial state

• Image button – acts like submit but image is displayed and click coordinates are sent

• Ordinary button – used for Javascript, no default action

78

<input type="reset" name="resetBtn" value="Reset the form" />

<input type="image" src="submit.gif" name="submitBtn" alt="Submit" />

<input type="button" value="click me" />

© Sun Technologies Inc.

Page 79: HyperText Markup Language - HTML

Other Form Controls (3)• Password input – a text field which masks

the entered text with * signs

• Multiple select field – displays the list of items in multiple lines, instead of one

79

<input type="password" name="pass" />

<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>

© Sun Technologies Inc.

Page 80: HyperText Markup Language - HTML

Other Form Controls (4)

• File input – a field used for uploading files

• When used, it requires the form element to have a specific attribute:

80

<input type="file" name="photo" />

<form enctype="multipart/form-data">... <input type="file" name="photo" />...</form>

© Sun Technologies Inc.

Page 81: HyperText Markup Language - HTML

Labels• Form labels are used to associate an

explanatory text to a form field using the field's ID.

• Clicking on a label focuses its associated field (checkboxes are toggled, radio buttons are checked)

• Labels are both a usability and accessibility feature and are required in order to pass accessibility validation.

81

<label for="fn">First Name</label><input type="text" id="fn" />

© Sun Technologies Inc.

Page 82: HyperText Markup Language - HTML

HTML Forms – Example

82

<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" />

form.html

© Sun Technologies Inc.

Page 83: HyperText Markup Language - HTML

HTML Forms – Example (2)

83

<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>

form.html (continued)

© Sun Technologies Inc.

Page 84: HyperText Markup Language - HTML

form.html (continued)

HTML Forms – Example (3)

84© Sun Technologies Inc.

Page 85: HyperText Markup Language - HTML

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

85

<input type="text" tabindex="10" />

© Sun Technologies Inc.

Page 86: HyperText Markup Language - HTML

HTML Frames<frameset>, <frame> and <iframe>

Page 87: HyperText Markup Language - HTML

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.

87© Sun Technologies Inc.

Page 88: HyperText Markup Language - HTML

HTML Frames – Demo

88

<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>

frames.html

Note the target attribute applied to the <a> elements in the left frame.

© Sun Technologies Inc.

Page 89: HyperText Markup Language - HTML

Inline Frames: <iframe>

• Inline frames provide a way to show one website inside another website:

89

<iframe name="iframeGoogle" width="600" height="400" src="http://www.google.com" frameborder="yes" scrolling="yes"></iframe>

iframe-demo.html

© Sun Technologies Inc.