HTML Basics
HTML, Text, Images, Tables
Table of Contents
1.
Introduction to HTML
How the Web Works?
What is a Web Page?
My First HTML Page
Basic Tags: Hyperlinks, Images, Formatting
Headings and Paragraphs
2.
HTML in Details
The <!DOCTYPE> Declaration
The <head> Section: Title, Meta, Script,
Style
2
Table of Contents (2)
HTML in Details
2.
3.
The <body> Section
Text Styling and Formatting Tags
Hyperlinks: <a>
Hyperlinks and Sections
Images: <img>
Lists: <ol>, <ul> and <dl>
HTML Special Characters
The <div> and <span> elements
3
How the Web Works?
WWW use classical client / server architecture
HTTP is text-based request-response protocol
HTTP
Page request
HTTP
Server response
Client running a
Web Browser
Server running Web
Server Software
(IIS, Apache, etc.)
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)
Looks (looked?) like:
A Microsoft Word document
The markup tags provide information about
the page content structure
5
Creating HTML Pages
An HTML file must have an .htm or .html
file extension
HTML files can be created with text editors:
NotePad, NotePad ++, Sublime Text
!
Or HTML editors (WYSIWYG Editors):
Microsoft WebMatrix
Microsoft Expression Web
Microsoft Visual Studio
Adobe Dreamweaver
HTML Past, Present, Future
HTML first mentioned Tim Berners-Lee HTML tags!
1993 HTML (first public version, published at IETF)!
1993 HTML 2 draft!
1995 HTML 2 W3C!
1995 HTML 3 draft !
1997 HTML 3.2 Wilbur!
1997 HTML 4 Cougar CSS !
1999 HTML 4.01 (final)!
2000 XHTML draft !
2001 XHTML (final)!
2008 HTML5 / XHTML5 draft!
2011 feature complete HTML5!
http://en.wikipedia.org/wiki/HTML5#Plan_2014
1991
HTML Terminology
Tags, Attributes and Elements
HTML Terminology
Concepts
in HTML!
Tags!
Opening tag and closing tag!
The smallest piece in HTML!
Attributes!
Properties of the tag!
Size, color, etc !
Elements!
Combination of opening, closing tag and
attributes
HTML Tags
Tags
are the smallest piece in HTML
Document!
Start with "<" and end with ">"!
Two
kinds of tags!
Opening!
Mark the start of an
HTML element!
Closing!
Mark the end of an
HTML element!
Start in "</"
Opening tag
<html>
<body>
<h1>Hello Pesho!</h1>
</body>
</html>
Closing tag
Attributes
Attributes
are properties of HTML Elements!
Used to set size, color, border, etc!
Put directly in the tags!
Has value surrounded by " " or ' '!
The value is always a string
<!- makes a hyperlink to Google -->
<a href="http://google.com"> go to Google</a>
<!- makes a horizontal line -->!
<hr width="95%" size="3px"/>
<!- adds an image in the web page -->
<img src="images/ninja.png"/>
Some tags don't
have closing tag
10
Most Common Attributes
There
are some attributes that are common
for every HTML element!
Id, class, name, style!
And
some attributes are specific!
For example the attribute src of the img
element!
Shows the path to the image to be shown
11
HTML Elements
HTML
Elements are combination of tags and
attributes!
Opening tag with some or none attributes and
a closing tag
<a href="http://google.com"> go to Google</a>
<html></html>
12
HTML Terminology
Live Demo
HTML Document Structure
HTML Document, Doctype, Head, Body
HTML Document Structure
Some
elements are essential to each HTML
Document:!
html, head, body, doctype!
The
html element!
Used to mark the beginning and ending of a
HTML document!
All the content of the web page is inside this
tag
<html>
</html>
15
Head Element
The
head tag contains markup that is not
visible to the user (i.e. the person using the
browser)!
But helps the browser to render correctly the
HTML document!
What
is in there?!
Styles, scripts!
Declare encodings!
Etc..!
The title tag - the text in the tab of a
browser
16
Body Element and Doctype
element contains all the visible to the
user markup!
body
Headings, text, hyperlinks, images, etc!
Textboxes, sliders, buttons!
Doctype
is kind of the validator of the page!
Tells the browser in which version of HTML the
page is written!
HTML 5 Doctype
<!DOCTYPE html>
17
HTML Document Structure
Live Demo
HTML Common Elements
Used in 90% of all the sites
Live Demo
HTML Basics
Text, Images, Tables, Forms
HTML Structure
HTML is comprised of elements and tags
Begins with <html> and ends with </html>
Elements (tags) are nested one inside another:
! <html> <head></head> <body></body> </html>
Tags have attributes:
! <img src="logo.jpg" alt="logo" />
HTML describes structure using two main sections:
<head> and <body>
22
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
23
First HTML Page
test.html
<!DOCTYPE HTML>
<html>
<head>
<title>My First HTML Page</title>
</head>
<body>
<p>This is some text...</p>
</body>
</html>
24
First HTML Page: Tags
<!DOCTYPE HTML>
Opening tag
<html>
<head>
<title>My First HTML Page</title>
</head>
<body>
Closing tag
<p>This is some text...</p>
</body>
</html>
An HTML element consists of an opening tag, a closing tag
and the content inside.
25
First HTML Page: Header
HTML header
<!DOCTYPE HTML>
<html>
<head>
<title>My First HTML Page</title>
</head>
<body>
<p>This is some text...</p>
</body>
</html>
26
First HTML Page: Body
<!DOCTYPE HTML>
<html>
<head>
<title>My First HTML Page</title>
</head>
<body>
<p>This is some text...</p>
</body>
</html>
HTML body
27
Some Simple Tags
Hyperlink Tags
!
! <a href=http://www.itacad.org/"
! title="ITacad">Link to ITacad Web site</a>
Image Tags
<img src="logo.gif" alt="logo" />
Text formatting tags
This text is <em>emphasized.</em>
<br />new line<br />
This one is <strong>more emphasized.</strong>
28
Some Simple Tags Example
some-tags.html
<!DOCTYPE HTML>
<html>
<head>
<title>Simple Tags Demo</title>
</head>
<body>
<a href=http://www.itacad.org/" title=
"ITacad site">This is a link.</a>
<br />
<img src="logo.gif" alt="logo" />
<br />
<strong>Bold</strong> and <em>italic</em> text.
</body>
</html>
29
Some Simple Tags Example (2)
some-tags.html
<!DOCTYPE HTML>
<html>
<head>
<title>Simple Tags Demo</title>
</head>
<body>
<a href="http://www.itacad.com/" title=
"ITacad site">This is a link.</a>
<br />
<img src="logo.gif" alt="logo" />
<br />
<strong>Bold</strong> and <em>italic</em> text.
</body>
</html>
30
Some HTML Tags
Live Demo
Tags Attributes
Tags can have attributes
Attributes specify properties and behavior
Attribute alt with value "logo"
Example:
!<img src="logo.gif" alt="logo" />
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
32
Headings and Paragraphs
Heading Tags (h1 h6)
! <h1>Heading 1</h1>
! <h2>Sub heading 2</h2>
! <h3>Sub heading 3</h3>
Paragraph Tags
! <p>This is my first paragraph</p>
<p>This is my second paragraph</p>
Sections: div and span
<div style="background: skyblue;">
This is a div</div>
33
Headings and Paragraphs Example
headings.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>
34
Headings and Paragraphs Example (2)
headings.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>
35
Headings and Paragraphs
Live Demo
Introduction to HTML
HTML Document Structure in Depth
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.
38
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:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0
"http://www.w3.org/TR/xhtml1/DTD/xhtml1!Transitional//EN"
transitional.dtd">
See http://w3.org/QA/2002/04/valid-dtd-list.html for a list
of possible doctypes
39
HTML vs. XHTML
XHTML is more strict than HTML
Tags and attribute names must be in lowercase
All tags must be closed (<br/>, <img/>)
while HTML allows <br> and <img> and
implies missing closing tags (<p>par1
<p>par2)
XHTML allows only one root <html> element
(HTML allows more than one)
40
XHTML vs. HTML (2)
Many element attributes are deprecated in
XHTML, most are moved to CSS
Attribute minimization is forbidden, e.g.
! <input type="checkbox" checked>
!
!<input type="checkbox" checked="checked" />
Note: Web browsers load XHTML faster than
HTML and valid code faster than invalid!
41
The <head> Section
Contains information that doesnt 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 -->
42
<head> Section: <title> tag
Title should be placed between <head> and </
head> tags
! <title>ITacad Academy Winter Season
! 2009/2010 </title>
Used to specify a title in the window title bar
Search engines and people rely on titles
43
<head> Section: <meta>
Meta tags additionally describe the content
contained within the page
<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.itacad.org />
44
<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
45
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>
46
Using Scripts
Live Demo
<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>
48
Embedding CSS Styles
Live Demo
Comments: <!-- --> Tag
Comments can exist anywhere between the
<html></html> tags
Comments start with <!-- and end with -->
<!- ITacad Logo (a JPG file) -->
<img src="logo.jpg" alt=ITacad Logo">
<!- Hyperlink to the web site -->
<a href=http://itacad.org/">ITacad</a>
<!- Show the news table -->
<table class="newstable">
...
50
<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>
<html>
<head><title>Test page</title></head>
<body>
<!-- This is the Web page body -->
</body>
</html>
51
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>
<i></i>
<u></u>
bold
italicized
underlined
<sup></sup>
<sub></sub>
<strong></strong>
Samplesuperscript
Samplesubscript
strong
<em></em>
<pre></pre>
emphasized
Preformatted text
Many of the formatting tags are deprecated
Use CSS instead
20
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, were using XHMTL 1.0 transitional.<br />
Next line.</p>
</body>
</html>
53
Text Formatting Example (2)
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, were using XHMTL 1.0 transitional.<br />
Next line.</p>
</body>
</html>
54
Text Formatting
Live Demo
Hyperlinks: <a> Tag
Link to a document called form.html on the
same server in the same directory:
<a href="form.html">Fill Our Form</a>
Link to a document called parent.html on
the same server in the parent directory:
<a href="../parent.html">Parent</a>
Link to a document called cat.html on the
same server in the subdirectory stuff:
<a href="stuff/cat.html">Catalog</a>
56
Hyperlinks: <a> Tag (2)
Link to an external Web site:
<a href="http://www.devbg.org"
target="_blank">BASD</a>
!
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:
<a href="mailto:bugs@example.com?subject=Bug+Report">
Please report bugs here (by e-mail only)</a>
57
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:
! <a href="apply-now.html"><img
!
src="apply-now-button.jpg" /></a>
Link to a document called index.html
On the same server, in the subdirectory english
of the parent directory:
<a href="../english/index.html">Switch to
English version</a>
58
Hyperlinks and Sections
Link to another location in the same document:
! <a
href="#section1">Go to Introduction</a>
...
! <h2 id="section1">Introduction</h2>
Link to a specific location in another document:
<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>
59
Hyperlinks Example
hyperlinks.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:bugs@example.com?subject=Bug
Report">Please report bugs here (by e-mail only)</a>
<br />
<a href="apply-now.html"><img src="apply-nowbutton.jpg /></a> <br />
<a href="../english/index.html">Switch to English
version</a> <br />
60
Hyperlinks Example (2)
hyperlinks.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:bugs@example.com?subject=Bug
Report">Please report bugs here (by e-mail only)</a>
<br />
<a href="apply-now.html"><img src="apply-nowbutton.jpg /></a> <br />
<a href="../english/index.html">Switch to English
version</a> <br />
61
Hyperlinks
Live Demo
Links to the Same Document Example
links-to-same-document.html
<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
...
<h2
...
<h3
...
id="section1">Introduction</h2>
Section 1 follows here ...
id="section2">Some background</h2>
Section 2 follows here ...
id="section2.1">Project History</h3>
Section 2.1 follows here ...
63
Links to the Same Document Example (2)
links-to-same-document.html
<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
...
<h2
...
<h3
...
id="section1">Introduction</h2>
Section 1 follows here ...
id="section2">Some background</h2>
Section 2 follows here ...
id="section2.1">Project History</h3>
Section 2.1 follows here ...
64
Links to the Same Document
Live Demo
Images: <img> tag
Inserting an image with <img> tag:
<img src=apply-now-button.jpg border=2 />
Image attributes:
! src
! alt
height
!
width
! border
Location of image file (relative or absolute)
Substitute text for display (e.g. in text mode)
Number of pixels of the height
Number of pixels of the width
Size of border, 0 for no border
Example:
<img src="./php.png" alt="PHP Logo" />
52
Miscellaneous Tags
<hr />: Draws a horizontal rule (line):
! <hr size="5" width="70%" />
<center></center>: Deprecated!
! <center>Hello World!</center>
<font></font>: Deprecated!
<font size="3" color="blue">Font3</font>
<font size="+4" color="blue">Font+4</font>
67
Miscellaneous Tags Example
misc.html
<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>
68
Miscellaneous Tags
Live Demo
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.
2.
3.
Apple
Orange
Grapefruit
A.
B.
C.
Apple
Orange
Grapefruit
a.
b.
c.
Apple
Orange
Grapefruit
i.
ii.
iii.
I.
II.
III.
Apple
Orange
Grapefruit
Apple
Orange
Grapefruit
70
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
Apple
o Apple
Apple
Orange
o Orange
Orange
Pear
o Pear
Pear
71
Definition lists: <dl> tag
Create definition lists using <dl>
Pairs of text and associated definition; text is in
<dt> tag, definition in <dd> tag
<dl>
!
<dt>HTML</dt>
! <dd>A markup language </dd>
! <dt>CSS</dt>
<dd>Language used to </dd>
!
</dl>
Renders without bullets
Definition is indented
72
Lists Example
<ol type="1">
<li>Apple</li>
<li>Orange</li>
<li>Grapefruit</li>
</ol>
lists.html
<ul type="disc">
<li>Apple</li>
<li>Orange</li>
<li>Grapefruit</li>
</ul>
<dl>
<dt>HTML</dt>
<dd>A markup lang</dd>
</dl>
73
Creating Lists
Live Demo
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
¥
"
61
Special Characters Example
<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>IT Academy</p>
76
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>IT Academy</p>
77
HTML Special Characters
Live Demo
Section Elements
Using <DIV> and <SPAN>
Block and Inline Elements
Block and Inline Elements
Block elements add a line break before and after them
<div> is a block element
<div> creates logical divisions within a page
Used with CSS
Other block elements are <table>, <hr>, headings,
lists, <p> and etc.
Inline elements dont break the text before and after
them
<span> is an inline element
Most HTML elements are inline, e.g. <a>
80
The <div> Tag
<div> creates logical divisions within a page
Block style element
Used with CSS
Example:
div-and-span.html
<div align=center style="font-size:24px;
color:red">DIV example</div>
<p>This one is <span style="color:red; fontweight:bold">only a test</span>.</p>
81
<DIV>
<DIV>
Live Demo
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; fontweight:bold">only a test</span>.</p>
<p>This one is another <span style="font-size:
32px; font-weight:bold">TEST</span>.</p>
83
<SPAN>
Live Demo
<SPAN>some text</span>
Semantic Structural Tags
The Structure of a Web Page
A
sample layout structure of a Web Page
The "HTML 4 and Before" Way
Using
divs with IDs
The IDs are needed for styling
<html>!
<head>
<body>!
<div
<div
<div
<div
<div
</body>!
</html>
</head>!
id="header"> </div>!
id="navigation"> </div>!
id="sidebar"> </div>!
id="content"> </div>!
id="footer"> </div>!
34
The HTML 4 Way
Live Demo
The HTML 5 Way
In
HTML 5 there are semantic tags for layout
<nav>, <header>, <footer>, <section>
!
<html>
!
<head> </head>!
!
<body>!
! <header> </header>!
<nav> </nav>!
! <aside> </aside>!
<section> </section>!
!
<footer> </footer>!
</body>
!
!
</html>
!
Work only on newer browsers
36
Semantic Structural Tags
Live Demo
Remember
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
Always think about semantics
The W3C
HTML Validator is a way to validate
your HTML
http://validator.w3.org/
38
HTML Basics
Questions?
?
Exercises
1.
Write an HTML page like the following:
* Use headings and divs
93
Exercises (2)
2.
Write an HTML page like the following:
!
!
!
!
!
!
3.
Write an HTML page looking like the PNG file named
3.Introduction.PNG. Using the <a> tag add anchors
to the corresponding sections in the same page.
94
Exercises (3)
95
Exercises (4)
4.
Create an user profile
Web page Profile.html,
friends page named
Friends.html and info page
named Info.html. Link
them to one another
using <a> tag.
96
Exercises (5)
Create a Web site like the following:
5.
!
!
!
!
!
!
!
See the image InetJava-site.jpg.
97