Enhanced_L03-HTML_CSS
Enhanced_L03-HTML_CSS
1
HTML
⚫ Hypertext Markup Language
⚫ Contains elements
3 </body>)
A brief history of
HTML
⚫ In 1989, Tim Berners-Lee wrote a memo
proposing an Internet-based hypertext
system
⚫ Berners-Lee specified HTML and wrote the browser and server
software in late 1990 and released it in 1991 (it had 18
elements/tags)
⚫ HTML 2.0 was published as RFC 1866 in
1995 https://tools.ietf.org/html/rfc1866
⚫ A Request for Comments (RFC) is a publication from the
Internet Society (ISOC)
⚫ The Internet Society (ISOC) is an American nonprofit
organization founded in 1992 to provide leadership in
Internet- related standards, education, access, and
policy.
(c) Paul Fodor
A brief history of
HTML
⚫
HTML 3.2 was published as a W3C Recommendation in January
1997
⚫ The World Wide Web Consortium (W3C) is the international
standards organization for the World Wide Web, founded in
1994 by Tim Berners-Lee after he left the European
Organization for Nuclear Research (CERN).
⚫ It was founded at the Massachusetts Institute of Technology Laboratory
for Computer Science (MIT/LCS) with support from the European
Commission and the Defense Advanced Research Projects Agency
(DARPA)
⚫ HTML 4.0 was published as a W3C Recommendation in
December 1997
⚫ HTML 4.01 was published in 2001
⚫ HTML 5 was published as a W3C Recommendation in 2014
</body>
</html>
7
(c) Paul Fodor
HTML – Basic Tags
⚫ <html></html> - Surround entire document
⚫ <head></head> - Surround header material (titles, css
info, etc.)
⚫ <body></body> - Contains the main content of the
page
⚫ <p></p> - Hold a single paragraph that the
browser will typeset.
⚫ <h1></h1>, <h2></h2>, … - Hold a heading line
that is used to mark sections of a document for the
reader
8
(c) Paul Fodor
HTML – More basic tags
⚫ Links – These mark a hyperlink around link text.When
click by user, browser loads the page in the HREF
attribute.
⚫ Format <A HREF=“url target”>Text for link</A>
⚫ Only ‘Text for link’ will show up on page.
⚫ Target attribute, indicates which window/tab should be
used for the linked page
⚫ target=“_self ” – Default. Place the content in the current
tab
⚫ target=“_blank” – Place the content in a newly created tab
9
(c) Paul Fodor
HTML – More basic tags
⚫ <IMG> - Will display an image
⚫ Image file must be in a popular graphics format (gif, jpg, png,
etc)
⚫ Format :
<IMG src=“url for image file” width=#, height=#, alt=“Text to
display”>
1
0
(c) Paul Fodor
HTML – More on Links
⚫ href attribute
⚫ This can be any URI or local file
⚫ URI should include protocol, server, and path
⚫ Local file can be specified with an absolute or relative
path
⚫ Content can be text OR an image. Ex:
<A HREF=http://target.com/path/file.html>
<IMG src=“small_pic.jpg”>
</A>
⚫ title attribute
⚫ Used to provide descriptive text.
⚫ Text is displayed when cursor is hovered over link
1
1
(c) Paul Fodor
HTML – More on Links
⚫ Links can target ‘bookmarks’ created with the id attribute
on a tag
⚫ Will scroll to the section marked with the named id
some_web_page.html:
…
<h2 id=“MoreStyles”>
…
Inner link:
<A HREF=“#MoreStyles”>Go to MoreStyles section”</A>
From another_web_page.html:
…
<A HREF=http://someserver.com/some_web_page.html#MoreStyles>See info on Styles</A>
1
2
(c) Paul Fodor
HTML - Lists
⚫ Supports:
⚫ <UL></UL> - Unordered List
⚫ <OL></OL> - Ordered List
⚫ <LI></LI> - Encloses a single list
item
1
3
(c) Paul Fodor
HTML – Example: Lists
<!DOCTYPE html>
<html>
<body>
<h2>Unordered
List</h2>
<ul>
<li>Coffee</li>
<li>Tea</li>
<li>Milk</li>
</ul>
<h2>Ordered List</h2>
<ol>
<li>Coffee</li>
<li>Tea</li>
<li>Milk</li>
</ol>
1
4
</
</body>
html>
(c) Paul Fodor
HTML – Adding styles to lists
⚫ UL takes a style attribute to customize
the list
⚫ list-style-type
⚫ circle
⚫ square
⚫ disc
⚫ none
1
5
(c) Paul Fodor
HTML – Example: Styled lists
<!DOCTYPE html>
<html>
<body>
<h2>Unordered List with Disc Bullets</h2>
<ul style="list-style-type:disc;">
<li>Coffee</li>
<li>Tea</li>
<li>Milk</li>
</ul>
</body>
</html>
<!DOCTYPE html>
<html>
<body>
<h2>Unordered List with Square Bullets</h2>
<ul style="list-style-type:square;">
<li>Coffee</li>
<li>Tea</li>
<li>Milk</li>
</ul>
</body>
</html>
1
6
(c) Paul Fodor
HTML – Formatting Tags
⚫ <b></b> - Bold text
⚫ <strong></strong> - Important text (similar to bold)
⚫ <i><i> - Italic text
⚫ <em></em> - Emphasized text (similar to Italic)
⚫ <mark></mark> - Marked text
⚫ <small><small> - Small text
⚫ <del></del> - Deleted text (stroked text)
⚫ <ins></ins> - Inserted text
1
7⚫
<sub></sub> - Subscript text
HTML – Example: Formatting Tags
<!DOCTYPE html>
<html>
<body>
1
8 </body>
</html>
HTML - Comments
⚫ Comments are contained in ‘<!-- --
>
⚫ Example:
1
9
HTML - Styles
2
1
(c) Paul Fodor
HTML – Example: Tables
<html> <tr>
<body <td>John</
> td>
<h2>Basic HTML <td>Doe</td>
Table</h2> <td>80</td>
<table </tr>
style="width:100%"> </table>
<tr> </
<th>Firstname</th> body>
<th>Lastname</th> </html>
<th>Age</th>
</tr>
<tr>
<td>Jill</td>
<td>Smith</
td>
<td>50</td>
</tr>
<tr>
<td>Eve</td>
<td>Jackson</
td>
2
3 <td>94</td>
HTML – Forms
⚫ Forms can be used to collect data and respond to queries
⚫ Tags:
⚫ <form></form> - This encases the entire form
⚫ Forms contain a number of input elements as well as text fields
⚫ There is at least one input to indicate when to submit a form to
the back end.
⚫ Form tag attributes
⚫ action= - This indicates the script on the server to run when the
submit action is selected
⚫ method= - This indicates what ‘HTTP method’ to use (i.e.
“GET”, “PUT”, “POST”, etc)
⚫ Input Tags within a form:
⚫ <input></input> This encloses input fields of various types
based on attributes in the tag
2
3
HTML – Example: Forms
<!DOCTYPE html>
<html>
<body>
<h2>HTML Forms</h2>
<form
action="/action_page.php">
First name:<br>
<input type="text"
name="firstname"
value="Mickey">
<br>
Last name:<br>
<input type="text"
name="lastname"
value="Mouse">
<input type="text" name="age"
value="0"><br>
<input type="radio"
name="gender"> Female<br>
<input type="radio"
name="gender"> Male<br>
<input type="radio"
2
4
name="gender">
Unspecified<br>
<br><br>
HTML – Miscellaneous Tags
⚫ <pre></pre> - Pre-formatted text Browser
will render content as it is written in the
html file.
⚫ <br> - Add a line break here.There is no
</br>
⚫ <hr> - Add a ‘horizontal rule’ (horizontal
line).
There is no </hr>
2
5
CSS
⚫ CSS = Cascading Style Sheets
⚫ Greatly simplifies styling HTML
2
7
A brief history of CSS
⚫ CSS was first proposed by Håkon Wium Lie on October
10, 1994, and W3C CSS Recommendation (CSS1) was
released in 1996.
⚫ CSS level 2 specification was developed by the
W3C and published as a recommendation in
May 1998.
⚫ CSS2.1 as finally published as a W3C Recommendation
on 7 June 2011.
CSS rule-sets
⚫ CSS rule-sets have the following format:
h1, h2, p {
text-align: center;
color: red;
}
3
1
CSS – Placement of CSS Information
3
⚫ Inline styles
2
CSS – External Style Sheets
my_site_style.css: a_web_page.html:
body {
background-color:
<html>
}
lightblue;
<head>
h1 {
color: navy;
<link rel="stylesheet"
margin-left:
20px;
type="text/css"
}
href="my_site_style.css">
</head>
<body>
Separate References the
file holding file with style
… information
style
</body>
information
3 </html>
3
(c) Paul Fodor
CSS – Internal Style Sheets
<html>
<head>
<style>
body {
backg
round
-
h1color:
{ All style information
linen; maroon;
color: enclosed in <style> tag
} margin-left:
40px; within the <head> of an
} html document
</style>
</head>
<body>
…
</body>
</html>
3
4
CSS – Local Inline styles
⚫ Style info can be placed inside any tag (as has been seen
earlier)
⚫ Ex: <h1 style=“color:red; text-size:14px;”>
3
5
CSS – Cascading Order
⚫ With a mix of internal, external, and inline style
information, the styles will be applied by
building a ‘virtual’ style sheet considering each
style specification in the following priority
order:
⚫ Inline style (inside an HTML element)
⚫ External and internal style sheets (in the head
section using order of links/style sections in
the head)
⚫ More specific selectors are selected
3 ⚫ For example, if we have a style for <p> and a style
6
(c) Paul Fodor
CSS – Style Attributes
⚫ Colors
⚫ Backgrounds
⚫ Borders
⚫ Margins
⚫ Padding
⚫ Height/
Width
3
7
CSS - Colors
⚫ Colors can be specified as:
⚫A color name like ‘red’, ‘lightblue’,
etc
⚫ HTML supports 140 standard color names
⚫A hex value : #ff0000, #000066,
etc.
⚫ Rgb values
⚫ 2 hex ‘nibbles’ per color giving ranges
of 0-255 for each
⚫ An RGB value like: rgb(255,0,0)
⚫ Same as hex values but with decimal
numbers
3
8 ⚫ Example:
(c) Paul Fodor
CSS – Backgrounds
⚫ Elements
can have different
backgrounds
⚫Colors
⚫Images
3
9
(c) Paul Fodor
CSS – Background Color
⚫ Attribute: background-color
⚫ Value: description of colors
⚫ h1 {background-color: green;}
⚫ div {background-color: #777700;}
⚫ div is just used to divide the page into subsections - no other
structural effect on the page
4
0
CSS – Background Images
⚫ Attribute: background-image
⚫ Value is usually a URL of a graphic file
⚫ Example:
⚫ body {background-image: URL(“mountain.jpg”)}
⚫ Images can be positioned within an element
⚫ Attribute: background-position:
⚫ Value: (horizontal and vertical positioning (left, center, right,
bottom, center, top))
⚫ Example:
<!—place image starting in the upper right corner of the page’s body -->
body {background-image: URL(“mountain.jpg”); background-position:
right top}
4
1
(c) Paul Fodor
CSS ⚫
– Background Images
Images can be repeated if two small to cover an
area
⚫ Attribute: background-repeat
⚫ Values:
⚫ repeat-x – repeat horizontally across area
⚫ repeat-y – repeat vertically down area
⚫ no-repeat – do not repeat image
⚫ Images can scroll with page:
⚫ Background-attachment:scroll
⚫ Can specify all attributes using ‘background:’
⚫ Values for background must be in this order:
⚫ background-color
⚫ background-image
⚫ background-repeat
⚫ background-attachment
⚫ background-position
4 body
⚫ {background: URL(“mountain.jpg”) repeat-x scroll right
Example:
2 top}
CSS - Borders
⚫ Shorthands:
⚫ border-left-style, border-right-style, border-
top-style, border-bottom-style
⚫ Same for border-x-width and border-x-color
⚫ border: handles all 3 attributes in order:
⚫ width
⚫ style (required)
⚫ color
⚫ Example:
⚫ h1 {border: 5px solid orange}
4
4
(c) Paul Fodor
CSS - Borders
<!DOCTYPE html>
<html>
<head>
<style>
h2 { border: 10px dashed
green;} p { border: 5px solid
red;}
</style>
</head>
<body>
<h2>The border
Property</h2>
<p>This property is a shorthand property for border-width, border-
style, and border-color.</p>
</body>
</html>
4
5
(c) Paul Fodor
CSS - Margins
⚫ Attribute: margin
⚫ Margin gives spacing outside the ‘border’ of an element
⚫ Similar to border, margin has separate attributes for
left, top, bottom, and right sides
⚫ Values:
⚫ auto – browser calculates margin
⚫ A length in px, pt, cm, etc
⚫ % - margin is a percentage of the width of the containing
element
⚫ Inherit – Margin is inherited from parent element
⚫ margin can also have 4, 3, 2, or 1 value(s). Application
pattern similar to border.
4
6
(c) Paul Fodor
CSS – Example: Margin
<!DOCTYPE html>
<html>
<head>
<style>
div {
border: 1px solid black;
margin: 25px 50px;
background-color:
lightblue;
}
</style>
</head>
<body>
<h2>The margin shorthand
property - 2 values</h2>
<div>This div element has a
top and bottom margin of
25px, and a right and left
margin of 50px.</div>
<hr>
</body>
</html>
47
(c) Paul Fodor
CSS - Padding
⚫ Padding generates space around an element but
within its border
⚫ Attributes: padding, padding-left, padding-top,
padding- bottom, padding-right
⚫ Values:
⚫ Length – A length value in pt, px, cm, em, etc
⚫ % - A percentage of the width of the element
⚫ inherit – The padding is inherited from
parent element
48
(c) Paul Fodor
CSS – Example: Padding
<!DOCTYPE html>
<html>
<head>
<style>
div { border: 1px solid
black; padding: 25px;
background-color:
lightblue; }
</style>
</head>
<body>
<h2>The padding
shorthand property - 1
value</h2>
<div>This div element has a
top, bottom, left, and right
padding of 25px.</div>
</body>
</html>
49
(c) Paul Fodor
CSS – Height/Width
⚫ These attributes give the height and width
of an element
⚫ Default value is auto which lets the
browser figure out the best size
⚫ Values can be specified as:
⚫ A length – in pt, px, cm, etc.
⚫ A percentage of the containing block
50
(c) Paul Fodor
CSS – Example: Height/Width
<!DOCTYPE html>
<html>
<head>
<style>
div { height:
200px; width:
50%;
background-color:
powderblue; }
</style>
</head>
<body>
<h2>Set the height
and width of an
element</h2>
<p>This div
element has a
5 height of 200px
(c) Paul Fodor (CS Stony
4 and a width of Brook)
CSS – The Box Model
⚫ CSS Box Model refers to the layout of an
element including margin, borders,
padding, and content
⚫ Content: The content of the element
⚫ Padding: area around the content and
within the border. Padding is transparent
⚫ Border: A border that surrounds the
element and padding
⚫ Margin: Area outside the border.
Margin is transparent.
52
(c) Paul Fodor
CSS – Box Model
53
(c) Paul Fodor
CSS – Example: Box
<!DOCTYPE html>
Model
<html>
<head>
<style>
div { background-color:
lightgrey; width: 300px;
border: 15px solid
green; padding: 50px;
margin: 20px; }
</style>
</head>
<body>
<h2>Demonstrating the
Box Model</h2>
<p>The CSS box model is essentially a box that wraps around every HTML element. It
consists of: borders, padding, margins, and the actual content.</p>
<div>This text is in a box and has a 50px padding, 20px margin and a 15px green
border. The rest of this doesn't much matter!</div>
</body>
</html>
54
(c) Paul Fodor
CSS – Styles for Links
⚫ Links can be styled using any CSS attributes (color,
background-color, text-decoration, font-family, font-size,
background, etc)
⚫ Links can have different styling based on their ‘state’. 4 states are:
⚫ :link – An unvisited link
⚫ :visited – A link that has been visited
⚫ :hover – A link when the cursor os hovering over it
⚫ :active – A link when the left mouse button is depressed over it
⚫ Ordering is important! If all 4 states have styles
⚫ hover must be after link and visited
⚫ active must follow hover
55
(c) Paul Fodor
CSS – Example: Link Styles
When left button depressed on
<!DOCTYPE link
html>
<html>
<head>
<style>
a:link { text-decoration: none; }
a:visited { text-decoration: none; color: green; }
a:hover { text-decoration: underline; color: red; }
a:active { text-decoration: underline; color:
hotpink; }
</style>
After visiting
</head> link
</
<body>
body>
</html>
<p><b><a href="default.asp" target="_blank">This is a
link</a></b></p>
<p>Misc other text</p>
56
(c) Paul Fodor
CSS – Styles for Lists
58
CSS – Example: Styles for Lists
<!DOCTYPE html>
<html>
<head>
<style>
li {border: solid;}
ul.a { list-style-position: outside; background:
#ff9999; } ul.b { list-style-position: inside;
background: #9999ff; }
</style>
</head>
<body>
<h1>The list-style-position Property</h1>
<h2>list-style-position: outside (default):</h2>
<ul class="a">
<li>Coffee - A brewed drink</li>
<li>Tea - An aromatic beverage </li>
<li>Coca Cola - A carbonated soft drink</li>
</ul>
<h2>list-style-position: inside:</h2>
<ul class="b">
<li>Coffee - A brewed drink</li>
<li>Tea - An aromatic beverage </li>
<li>Coca Cola - A carbonated soft drink</li>
</ul>
59 </body>
</html>
(c) Paul Fodor
CSS – Styles for Tables
⚫ Various table elements can take on properties like border,
padding, text-align, width, height and others
⚫ border
⚫ width
⚫ text-align
⚫ border-collapse
60
(c) Paul Fodor
CSS – Example: Table Styling <tr>
<!DOCTYPE html>
<html> <td>Peter</td>
<head> <td>Griffin</td>
<style> <td>$100</td>
table, td, th </tr>
{ <tr>
border: <td>Lois</td>
1px solid <td>Griffin</td>
black; <td>$150</td>
} </tr>
table { <tr>
border-collapse: <td>Joe</td>
collapse; width: 100%; <td>Swanson</td>
} <td>$300</td>
th { </tr>
text-align: center; <tr>
} <td>Cleveland</td>
</style> <td>Brown</td>
</head> <td>$250</td>
<body> </tr>
<h2>The text-align </table>
Property</h2> </body>
<p>This property sets
<th>Firstname</ </html>
the
th>horizontal alignment
(like left,
<th>Lastname</
right,
th> or center) of the
content in th or td:</p>
<th>Savings</th>
6 <table>
</tr> (c) Paul Fodor (CS Stony
4 <tr> Brook)
Summary
⚫ HTML – Hyper Text Markup Language
⚫ Used to describe most web page content
groups of elements
⚫ Varied properties to produce rich styling
⚫ Next
Lecture:
6
5 ⚫ JavaScript (c) Paul Fodor (CS Stony
Brook)