Slide 1:2.1 Origins and Evolution of HTML
- HTML was defined with SGML
- Original intent of HTML: General layout of
documents that could be displayed by a wide
variety of computers
- Recent versions:
- HTML 4.0 – 1997
- Introduced many new features and deprecated
many older features
- HTML 4.01 - 1999 - A cleanup of 4.0
- XHTML 1.0 - 2000
- Just 4.01 defined using XML, instead of SGML
- XHTML 1.1 – 2001
- Modularized 1.0, and drops frames
- We’ll stick to 1.1, except for frames
Slide 2:2.1 Origins and Evolution of HTML
(continued)
- Reasons to use XHTML, rather than HTML:
1. HTML has lax syntax rules, leading to sloppy and sometime ambiguous documents
- XHTML syntax is much more strict, leading to clean and clear documents in a standard form
2. HTML processors do not even enforce the few syntax rule that do exist in HTML
3. The syntactic correctness of XHTML documents can be validated
2.2 Basic Syntax
- Elements are defined by tags (markers)
- Tag format:
- Opening tag:
- Closing tag:
- The opening tag and its closing tag together
specify a container for the content they enclose
Slide 3:2.2 Basic Syntax (continued)
- Not all tags have content
- If a tag has no content, its form is
- The container and its content together are called
an element
- If a tag has attributes, they appear between its
name and the right bracket of the opening tag
- Comment form:
- Browsers ignore comments, unrecognizable tags,
line breaks, multiple spaces, and tabs
- Tags are suggestions to the browser, even if they
are recognized by the browser
Slide 4:2.3 Standard HTML Document Structure
- Every XHTML document must begin with:
- , , , and are required
in every document
- The whole document must have as its root
- html must have the xmlns attribute:
- A document consists of a head and a body
- The tag is used to give the document a title,
which is normally displayed in the browser’s
window title bar (at the top of the display)
- Prior to XHTML 1.1, a document could have either
a body or a frameset
Slide 5:2.4 Basic Text Markup
- Text is normally placed in paragraph elements
- Paragraph Elements
- The tag breaks the current line and inserts a
blank line - the new line gets the beginning of the
content of the paragraph
- The browser puts as many words of the
paragraph’s content as will fit in each line
Our first document
Greetings from your Webmaster!
Slide 6:2.4 Basic Text Markup (continued)
- W3C HTML Validation Service
http://validator.w3.org/file-upload.html
- Line breaks
- The effect of the tag is the same as that
of , except for the blank line
- No closing tag!
- Example of paragraphs and line breaks
On the plains of hesitation bleach the
bones of countless millions
who, at the dawn of victory sat down
to wait, and waiting, died.
- Typical display of this text:
On the plains of hesitation
bleach the bones of countless millions
who, at the dawn of victory
sat down to wait, and waiting, died.
Slide 7: 2.4 Basic Text Markup (continued)
- Headings
- Six sizes, 1 - 6, specified with to
- 1, 2, and 3 use font sizes that are larger than the
default font size
- 4 uses the default size
- 5 and 6 use smaller font sizes
Headings
Aidan’s Airplanes (h1)
The best in used airplanes (h2)
"We’ve got them by the hangarful" (h3)
We’re the guys to see for a good used
airplane (h4)
We offer great prices on great planes
(h5)
No returns, no guarantees, no refunds,
all sales are final (h6)
Slide 8:2.4 Basic Text Markup (continued) - Blockquotes
- Content of
- To set a block of text off from the normal flow and
appearance of text
- Browsers often indent, and sometimes italicize
- Font Styles and Sizes (can be nested)
- Boldface -
- Italics -
- Larger -
- Smaller -
- Monospace -
Slide 9:2.4 Basic Text Markup (continued)
The sleet in Crete
lies completely
in the street
The sleet in Crete
lies completely in the street
- These tags are not affected if they appear in the
content of a , unless there is a
conflict (e.g., italics)
- Superscripts and subscripts
- Subscripts with
- Superscripts with
Example: x23
Display: x23
- Inline versus block elements
- Block elements CANNOT be nested in inline
elements
Slide 10:2.4 Basic Text Markup (continued)
- All of this font size and font style stuff can be
done with style sheets, but these tags are not
yet deprecated
- Character Entities
Char. Entity Meaning
& & Ampersand
> Greater than
" " Double quote
' ' Single quote
¼ ¼ One quarter
½ ½ One half
¾ ¾ Three quarters
ï‚° ° Degree
(space) Non-breaking space
- Horizontal rules
- draws a line across the display, after a
line break
- The meta element (for search engines)
Used to provide additional information about a
document, with attributes, not content
Slide 11:2.5 Images
- GIF (Graphic Interchange Format)
- 8-bit color (256 different colors)
- JPEG (Joint Photographic Experts Group)
- 24-bit color (16 million different colors)
- Both use compression, but JPEG compression
is better
- Images are inserted into a document with the
tag with the src attribute
- The alt attribute is required by XHTML
- Purposes:
1. Non-graphical browsers
2. Browsers with images turned off
- The tag has many different attributes, including
width and height (in pixels)
(longdesc, id, usemap, ismap)
- Portable Network Graphics (PNG)
- Relatively new
- Should eventually replace both gif and jpeg
Slide 12:2.5 Images (continued)
Images
Aidan's Airplanes
The best in used airplanes
"We've got them by the hangarful"
Special of the month
1960 Cessna 210
577 hours since major engine overhaul
1022 hours since prop overhaul
Buy this fine airplane today at a
remarkably low price
Call 999-555-1111 today!
Slide 13:2.5 Images (continued)
Slide 14:2.6 Hypertext Links
- Hypertext is the essence of the Web!
- A link is specified with the href (hypertext
reference) attribute of (the anchor tag)
- The content of is the visual link in the
document
- If the target is a whole document (not the one in
which the link appears), the target need not be
specified in the target document as being the
target
- Note: Relative addressing of targets is easier to
maintain and more portable than absolute
addressing
Slide 15:2.6 Hypertext Links (continued)
Links
Aidan's Airplanes
The best in used airplanes
"We've got them by the hangarful"
Special of the month
1960 Cessna 210
Information on the Cessna 210
Slide 16:2.6 Hypertext Links (continued)
Slide 17:2.6 Hypertext Links (continued)
- If the target is not at the beginning of the
document, the target spot must be marked
- Target labels can be defined in many different
tags with the id attribute, as in
Baskets
- The link to an id must be preceded by a pound
sign (#); If the id is in the same document,
this target could be
What about baskets?
- If the target is in a different document, the
document reference must be included
Baskets
- Style note: a link should blend in with the
surrounding text, so reading it without taking
the link should not be made less pleasant
- Links can have images:
Info on C210
Slide 18:2.7 Lists
- Unordered lists
- The list is the content of the tag
- List elements are the content of the tag
Some Common Single-Engine Aircraft
Cessna Skyhawk
Beechcraft Bonanza
Piper Cherokee
- Ordered lists
- The list is the content of the tag
- Each item in the display is preceded by a
sequence value
Slide 19:2.7 Lists (continued)
Cessna 210 Engine Starting Instructions
Set mixture to rich
Set propeller to high RPM
Set ignition switch to "BOTH"
Set auxiliary fuel pump switch to
"LOW PRIME"
When fuel pressure reaches 2 to 2.5
PSI, push starter button
- Nested lists (vedi esempio codice)
- Any type list can be nested inside any type list
- The nested list must be in a list item
Slide 20:2.7 Lists (continued)
- Definition lists (for glossaries, etc.)
- List is the content of the tag
- Terms being defined are the content of the
tag
- The definitions themselves are the content
of the tag
Single-Engine Cessna Airplanes
152
Two-place trainer
172
Smaller four-place airplane
182
Larger four-place airplane
210
Six-place airplane - high performance
Slide 21:2.8 Tables
- A table is a matrix of cells, each possibly having
content
- The cells can include almost any element
- Some cells have row or column labels and
some have data
- A table is specified as the content of a
tag
- A border attribute in the tag specifies a
border between the cells
- If border is set to "border", the browser’s
default width border is used
- The border attribute can be set to a number,
which will be the border width
- Without the border attribute, the table will have
no lines!
- Tables are given titles with the tag,
which can immediately follow
Slide 22:2.8 Tables (continued)
- Each row of a table is specified as the content of
a tag
- The row headings are specified as the content of
a tag
- The contents of a data cell is specified as the
content of a tag
Fruit Juice Drinks
Apple
Orange
Screwdriver
Breakfast
0
1
0
Lunch
1
0
0
Slide 23:2.8 Tables (continued) - A table can have two levels of column labels
- If so, the colspan attribute must be set in the
tag to specify that the label must span
some number of columns
Fruit Juice Drinks
Orange
Apple
Screwdriver
Slide 24:2.8 Tables (continued)
- If the rows have labels and there is a spanning
column label, the upper left corner must be
made larger, using rowspan
Fruit Juice Drinks
Apple
Orange
Screwdriver
…
Slide 25:2.8 Tables (continued)
- The align attribute controls the horizontal
placement of the contents in a table cell
- Values are left, right, and center (default)
- align is an attribute of , , and
elements
- The valign attribute controls the vertical
placement of the contents of a table cell
- Values are top, bottom, and center (default)
- valign is an attribute of and elements
ïƒ SHOW cell_align.html and display it
- The cellspacing attribute of is used to
specify the distance between cells in a table
- The cellpadding attribute of is used to
specify the spacing between the content of a cell
and the inner walls of the cell
Slide 26:2.8 Tables (continued)
Colorado is a state of …
South Dakota is somewhat…
- Table Sections
- Header, body, and footer, which are the elements:
thead, tbody, and tfoot
Esercizio: cercate su web tags: colgroup, col
Slide 27:2.9 Forms
- A form is the usual way information is gotten from
a browser to a server
- HTML has tags to create a collection of objects that
implement this information gathering
- The objects are called widgets (e.g., radio buttons
and checkboxes)
- When the Submit button of a form is clicked, the
form’s values are sent to the server
- All of the widgets, or components of a form are
defined in the content of a tag
- The only required attribute of is action,
which specifies the URL of the application that is
to be called when the Submit button is clicked
action =
"http://www.cs.ucp.edu/cgi-bin/survey.pl"
- If the form has no action, the value of action is
the empty string
Slide 28:2.9 Forms (continued)
- The method attribute of specifies one of
the two possible techniques of transferring the
form data to the server, get and post
- get and post are discussed in Chapter 10
- Widgets
- Many are created with the tag
- The type attribute of specifies the kind of
widget being created
1. Text
- Creates a horizontal box for text input
- Default size is 20; it can be changed with the
size attribute
- If more characters are entered than will fit, the
box is scrolled (shifted) left
Slide 29:2.9 Forms (continued)
- If you don’t want to allow the user to type more
characters than will fit, set maxlength, which
causes excess input to be ignored
2. Checkboxes - to collect multiple choice input
- Every checkbox requires a value attribute,
which is the widget’s value in the form data
when the checkbox is ‘checked’
- A checkbox that is not ‘checked’ contributes
no value to the form data
- By default, no checkbox is initially ‘checked’
- To initialize a checkbox to ‘checked’, the
checked attribute must be set to "checked"
Slide 30:2.9 Forms (continued)
- Widgets (continued)
Grocery Checklist
Milk
Bread
Eggs
3. Radio Buttons - collections of checkboxes in
which only one button can be ‘checked’ at a
time
- Every button in a radio button group MUST
have the same name
Slide 31:2.9 Forms (continued)
- Widgets (continued)
3. Radio Buttons (continued)
- If no button in a radio button group is
‘pressed’, the browser often ‘presses’ the
first one
Age Category
0-19
20-35
36-50
Over 50
Slide 32:2.9 Forms (continued)
Widgets (continued) 4. Menus - created with tags
- There are two kinds of menus, those that
behave like checkboxes and those that
behave like radio buttons (the default)
- Menus that behave like checkboxes are
specified by including the multiple attribute,
which must be set to "multiple"
- The name attribute of is required
- The size attribute of can be
included to specify the number of menu
items to be displayed (the default is 1)
- If size is set to > 1 or if multiple is
specified, the menu is displayed as a
pop-up menu
Slide 33:2.9 Forms (continued)
- Widgets (continued)
4. Menus (continued)
- Each item of a menu is specified with an
tag, whose pure text content
(no tags) is the value of the item
- An tag can include the selected
attribute, which when assigned "selected"
specifies that the item is preselected
Grocery Menu - milk, bread, eggs, cheese
With size = 1 (the default)
milk
bread
eggs
cheese
Slide 34:2.9 Forms (continued)
- Widgets (continued) - After clicking the menu: - After changing size to 2:
Slide 35:2.9 Forms (continued)
Widgets (continued)
5. Text areas - created with
- Usually include the rows and cols attributes
to specify the size of the text area
- Default text can be included as the content of
- Scrolling is implicit if the area is overfilled
Please provide your employment aspirations
(Be brief and concise)
Slide 36:2.9 Forms (continued)
- Widgets (continued)
6. Reset and Submit buttons
- Both are created with
- Submit has two actions:
1. Encode the data of the form
2. Request that the server execute the
server-resident program specified as the
value of the action attribute of
- A Submit button is required in every form
SHOW popcorn.html and display it
Altri tags: fieldset e label:
Vedi esempio_form/
Slide 37:2.10 Frames
- Frames are rectangular sections of the display
window, each of which can display a different
document
- Because frames are no longer part of XHTML, you
cannot validate a document that includes frames
- The tag specifies the number of
frames and their layout in the window
- takes the place of
- Cannot have both!
- must have either a rows attribute
or a cols attribute, or both (usually the case)
- Default is 1
- The possible values for rows and cols are
numbers, percentages, and asterisks
- A number value specifies the row height in
pixels - Not terribly useful!
- A percentage specifies the percentage of
total window height for the row - Very useful!
Slide 38:2.10 Frames (continued)
- An asterisk after some other specification gives
the remainder of the height of the window
- Examples:
- The tag specifies the content of a frame
- The first tag in a specifies
the content of the first frame, etc.
- Row-major order is used
- Frame content is specified with the src
attribute
- Without a src attribute, the frame will be
empty (such a frame CANNOT be filled later)
- If has fewer tags than frames,
the extra frames are empty
Slide 39:2.10 Frames (continued)
- Scrollbars are implicitly included if needed (they
are needed if the specified document will not fit)
- If a name attribute is included, the content of the
frame can be changed later (by selection of
a link in some other frame)
ïƒ SHOW frames.html
- Note: the Frameset standard must be specified in
the DOCTYPE declaration
Slide 40:2.10 Frames (continued)
Table of Contents Frame
Fruits
apples
bananas
oranges
Slide 41:2.10 Frames (continued) - Nested frames - to divide the screen in more
interesting ways
ïƒ SHOW nested_frames.html
2.11 Syntactic Differences between
HTML & XHTML
- Case sensitivity
- Closing tags
- Quoted attribute values
- Explicit attribute values
- id and name attributes
- Element nesting