chapter 2 (web design and programming)
chapter 2 (web design and programming)
HTML
By: Behayilu M.
Faculty of Computing and Software Eng.,
Arba Minch Institute of Technology(AMiT),
Arba Minch University
Web design and Programming 1
Contents
• HTML elements label pieces of content such as "this is a heading", "this is a paragraph",
"this is a link", etc.
Web design and Programming 5
Hypertext Markup Language (HTML)
• Markup tags: tell the Web browser how to display the page
7
HTML Tags
• Tags are one of the most important part in an HTML Document.
• HTML uses some predefined tags which tells the browser about content display property, that is
how to display a particular given content.
• For Example, to create a paragraph, one must use the paragraph tags(<p> </p>) and to insert an image one must
use the img tags(<img />).
• The end tag is written like the start tag, but with a slash before the tag name
The start tag is often called the opening tag. The end
tag is often called the Webclosing tag.
design and Programming 9
Tag Attributes
• Tags can have attributes that provide additional information to an
HTML element
• Attributes specify properties and behavior
• 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
• Some elements have obligatory attributes
10
Some Simple Tags – Example
<!DOCTYPE HTML>
<html>
<head>
<title>Simple Tags Demo</title>
</head>
<body>
<a href="http://www.amu.edu.et/" title=“amu site">Go to AMU
website.</a>
<br />
<img src="logo.gif" alt="logo" />
<br />
<strong>Bold</strong> and <em>emphasized or italic</em> text.
</body>
</html>
11
HTML Document Structure
• All HTML documents must start with a document type declaration: <!DOCTYPE html>.
• 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
13
<head> Section: <title> tag
• Title should be placed between <head> and </head> tags
<title>Arba minch University Website</title>
15
<head> Section: <script>
• The <script> element is used to embed scripts into an HTML document
• Script are executed in the client's Web browser
• VBScript
• JScript
16
The <script> Tag – Example
<!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>
17 </body>
</html>
<head> Section: <style>
• The <style> element embeds formatting information (CSS styles) into
an HTML page
<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>
18 </body>
Comments: <!-- --> Tag
• Comments can exist anywhere between the <html></html> tags
• Comments start with <!-- and end with -->
20
Headings and Paragraphs – Example
<!DOCTYPE HTML>
<html>
<head><title>Headings and paragraphs</title></head>
<body>
<h1>Heading 1</h1>
<h2>Sub heading 2</h2>
headings.html <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>
21
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
22
Text Formatting – Example
<!DOCTYPE html >
<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>
23
HTML styles
• The HTML style attribute is used to add styles to an element, such as
color, font, size, and more.
• <h1 style="color:blue;">This is a heading</h1>
<p style="color:red;">This is a paragraph.</p>
24
HTML colors
• HTML colors are specified with predefined color names, or with RGB,
HEX, HSL, RGBA, or HSLA values.
• <h1 style="color:Tomato;">Hello World</h1>
25
HTML links - hyperlinks
26
HTML links
• An HTML link is displayed in a different color depending on whether it has been visited, is unvisited, or
is active.
• HTML Link Colors
By default, a link will appear like this (in all browsers):
An unvisited link is underlined and blue
A visited link is underlined and purple
An active link is underlined and red
HTML Links - Create Bookmarks
• HTML links can be used to create bookmarks, so that readers can jump to specific parts of a web page.
• Bookmarks can be useful if a web page is very long.
To create a bookmark - first create the bookmark, then add a link to it.
When the link is clicked, the page will scroll down or up to the location with the bookmark.
• <h2 id="C4">Chapter 4</h2>
• <a href="#C4">Jump to Chapter 4</a>
27
HTML images
29
Ordered Lists: <ol> Tag
<ol type="1">
Create an Ordered List using <ol></ol>:
<li>Apple</li>
<li>Orange</li>
<li>Grapefruit</li>
</ol>
30
Unordered Lists: <ul> Tag
<ul type="disk">
Create an Unordered List using <ul></ul>: <li> Apple </li>
<li> Orange </li>
<li> Grapefruit </li>
</ul>
31
Definition lists: <dl> tag
Create definition lists using <dl>
<dl>
• Renders without bullets <dt>HTML</dt>
• <dl> defines a description list <dd>A markup language …</dd>
<dt>CSS</dt>
• It encloses a group of terms <dd>Language used to …</dd>
• <dt> defines a description term </dl>
• <dd> defines a description details
• Definition is indented
HTML
A markup language …
CSS
Language used to ..
32
HTML Special Characters
• Some characters are reserved in HTML.
• A character entity looks like this: &entity_name; or &#entity_number;
• To display a less than sign (<) we must write: < or <
• An entity name is easy to remember.
33
Special Chars – Example
<p>[>> Welcome <<]</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>
34
HTML Multimedia
35
HTML Multimedia
• HTML Audio
• The HTML <audio> element is used to play an audio file on a web page.
• <audio controls autoplay muted>
Note: Only MP3, WAV, and Ogg audio are supported by the HTML standard.
• Add muted after autoplay to let your audio file start playing automatically (but
muted):
36
HTML YouTube Videos
38
The <div> and <span>Tag
• <div> is Block style element
• It creates logical divisions within a page
• Used with CSS
• <span> is Inline style element
• Useful for modifying a specific portion of text
• Don't create a separate area in the document
• Very useful with CSS
• Example:
41
Simple HTML Tables – Example
<!DOCTYPE html>
<html>
<style>
table, th, td {
border:1px solid black;
}
</style>
<body>
<table style="width:60%">
<tr>
<td>Name</td>
<td>Age</td>
<td>Sex</td>
</tr>
<tr>
<td>Abebe</td>
<td>23</td>
<td>M</td>
</tr>
<tr>
<td>Meron</td>
<td>21</td>
<td>F</td>
</tr>
</table>
</body>
42
</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)
43
Complete HTML Table: Example
<table> columns
• <colgroup>
<col style="width:100px" /><col />
</colgroup> header
<thead> th
<tr><th>Column 1</th><th>Column 2</th></tr>
</thead> footer
<tfoot>
<tr><td>Footer 1</td><td>Footer 2</td></tr>
</tfoot> Last comes the body (data)
<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>
44
</table>
Complete HTML Table: Example (2)
<table> By default, header text is
<colgroup> bold and centered.
<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> Although the footer is before the data
</tbody> in the code, it is displayed last
</table>
45
Nested Tables
• Table data “cells” (<td>) can contain nested tables (tables within tables):
<table>
<tr>
<td>Contact:</td>
<td>
<table>
<tr>
<td>First Name</td>
<td>Last Name</td>
</tr>
</table>
</td>
</tr>
</table>
46
Cell Spacing and Padding
• Tables have two important attributes:
cellspacing cellpadding
<tr><td>First</td><td>Second</td></tr>
</table>
</body>
</html>
48
Column and Row Span
• Table cells have two important attributes:
colspan rowspan
colspan="1 colspan="1 rowspan="2 rowspan="1
" " " "
cell[1,1] cell[1,2] cell[1,2]
cell[1,1]
cell[2,1] cell[2,1]
colspan="2 rowspan="1
Defines how " Defines how"
50
Column and Row Span – Example (2)
<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> Cell[1,1
Cell[2,1]
</table> ]
Cell[1,2 Cell[3,2
] Cell[2,2 ]
Cell[1,3 ] Cell[2,3
51
] ]
<!DOCTYPE html>
<html>
Table caption
<head>
<tr>
<style>
<td>January</td>
table, th, td {
<td>$100</td>
border: 1px solid black;
</tr>
border-collapse: collapse;
<tr>
}
<td>February</td>
th, td {
<td>$50</td>
padding: 5px;
</tr>
text-align: left;
</table>
}
</body>
</style>
</html>
</head>
<body>
<table style="width:100%">
<caption>Monthly savings</caption>
<tr>
<th>Month</th>
<th>Savings</th>
</tr>
52
Exercise:
• Forms are the primary method for gathering data from site visitors
• Create a form block with
<form></form>
The “method" attribute tells how
• Example: the form data should be sent –
via GET or POST request
• Radio buttons:
<input type="radio" name="title"
value="Mr." />
• Radio buttons can be grouped, allowing only one to be selected from a
group:
• Submit button:
<input type="submit" name="submitBtn"
value="Apply Now" />
58
Other Form Controls (2)
• Reset button – brings the form to its initial state
<select name="products"
multiple="multiple">
<option value="Value 1"
selected="selected">keyboard</option>
<option value="Value 2">mouse</option>
60 <option value="Value
Other Form Controls (4)
• File input – a field used for uploading files
<form enctype="multipart/form-data">
...
<input type="file" name="photo" />
...
</form>
61
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" />
62
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" />
63
HTML Forms – Example (2)
<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>
64 <input type="submit" name="submit" value="Send
Form" />
HTML Forms – Example (3)
65
HTML5: New form elements
66
Input-datalist Elements and autocomplete Attribute
67
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.
68
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.
69
HTML Frames – Demo
frames.ht
<html> ml
<head><title>Frames Example</title></head>
<frameset cols="180px,*,150px">
<frame src="left.html" />
<frame src="middle.html" />
<frame src="right.html" />
</frameset>
</html>
70
Inline Frames: <iframe>
• Inline frames provide a way to show one website inside another
website:
iframe-
demo.html
<iframe name="iframeGoogle" width="600" height="400"
src="http://www.google.com" frameborder="yes"
scrolling="yes"></iframe>
71
Table:html structure elements
72
Table:html structure elements
73
HTML5: Semantic elements example
<header>
<nav>
<aside>
<section>
<footer>
74