Web Unit-1,2
Web Unit-1,2
Concept of WWW.
∙ WWW is stands for World Wide Web.
∙ The World Wide Web (WWW) is a global information medium which users can read and write via
computer connected to the internet.
∙ The Web, or World Wide Web, is basically a system of Internet servers that support specially
formatted documents. The documents are formatted in a markup language called HTML
(Hypertext Markup Language) that supports links to other documents, as well as graphics,
audio, and video files.
∙ In short, World Wide Web (WWW) is collection of text pages, digital photographs, music files,
videos, and animations you can access over the Internet.
∙ Web pages are primarily text documents formatted and annotated with Hypertext Markup
Language (HTML). In addition to formatted text, web pages may contain images, video, and
software components that are rendered in the user's web browser as coherent pages of
multimedia content.
∙ The terms Internet and World Wide Web are often used without much distinction. However, the
two are not the same.
∙ The Internet is a global system of interconnected computer networks. In contrast, the World
Wide Web is one of the services transferred over these networks. It is a collection of text
documents and other resources, linked by hyperlinks and URLs, usually accessed by web
browsers, from web servers.
∙ There are several applications called Web browsers that make it easy to access the World Wide
Web; For example: Firefox ,Microsoft's Internet Explorer, Chrome Etc. ∙ Users access the World-
Wide Web facilities via a client called a browser, which provides transparent access to the WWW
servers. User can access WWW via two way such us :
History of WWW:
∙ Tim Berners-Lee, in 1980 was investigating how computer could store information with random
links. In 1989, while working at European Particle Physics Laboratory, he proposed to idea of
global hypertext space in which any network-accessible information could be referred to by
single “universal Document Identifier”. After that in 1990, this idea expanded with further
program and knows as World Wide Web.
Internet and WWW
∙ The Internet, linking your computer to other computers around the world, is a way of
transporting content. The Web is software that lets you use that content…or contribute your
own. The Web, running on the mostly invisible Internet, is what you see and click on in your
computer’s browser.
What is The Internet?
∙ The Internet is a massive network of networks, a networking infrastructure. It connects millions
of computers together globally, forming a network in which any computer can communicate
with any other computer as long as they are both connected to the Internet. Information that
travels over the Internet does so via a variety of languages known as protocols. So we can says
that Internet is network of computer which connect to together and any computer
communicate with any other computer.
What is The Web (World Wide Web)?
∙ The World Wide Web, or simply Web, is a way of accessing information over the medium of the
Internet. It is an information-sharing model that is built on top of the Internet. ∙ The Web uses the
HTTP protocol, only one of the languages spoken over the Internet, to transmit data. The Web also
utilizes browsers, such as Internet Explorer or Firefox, to access Web documents called Web pages
that are linked to each other via hyperlinks. Web documents also contain graphics, sounds, text
and video.
Different between Internet and WWW
∙ The Web is a Portion of The Internet. The Web is just one of the ways that information can be
disseminated over the Internet. The Internet, not the Web, is also used for email, which relies
on SMTP, Usenet news groups, instant messaging and FTP. So the Web is just a portion of the
Internet.
HTTP Protocol: Request and Response.
∙ HTTP stands for Hypertext Transfer Protocol.
∙ HTTP is based on the client-server architecture model and a stateless request/response protocol
that operates by exchanging messages across a reliable TCP/IP connection. ∙ An HTTP "client" is a
program (Web browser) that establishes a connection to a server for the purpose of sending one
or more HTTP request messages. An HTTP "server" is a program (generally a web server like
Apache Web Server) that accepts connections in order to serve HTTP requests by sending HTTP
response messages.
∙ Errors on the Internet can be quite frustrating — especially if you do not know the difference
between a 404 error and a 502 error. These error messages, also called HTTP status codes are
response codes given by Web servers and help identify the cause of the problem.
∙ For example, "404 File Not Found" is a common HTTP status code. It means the Web server
cannot find the file you requested. The file -- the webpage or other document you try to load in
your Web browser has either been moved or deleted, or you entered the wrong URL or
document name.
∙ HTTP is a stateless protocol means the HTTP Server doesn't maintain the contextual information
about the clients communicating with it and hence we need to maintain sessions in case we
need that feature for our Web-applications
∙ HTTP header fields provide required information about the request or response, or about the
object sent in the message body. There are four types of HTTP message headers: o General-
header:
These header fields have general applicability for both request and response
messages. o Request-header:
These header fields have applicability only for request messages.
o Response-header:
These header fields have applicability only for response messages.
o Entity-header:
These header fields define Meta information about the entity-body.
∙ As mentioned, whenever you enter a URL in the address box of the browser, the browser
translates the URL into a request message according to the specified protocol; and sends the
request message to the server.
∙ For example, the browser translated the URL http://www.test101.com/doc/index.html into the
following request message:
Here,Step by step communication between client and server mention into followingfigure.
Fig
1: Communication between HTTP Client and HTTP Server
Web Browser and Web Server.
∙ Web server and web browser are the terms which are commonly used for website. The basic
purpose of both is to develop a platform for internet web directory. So that any users can
anytime access any kind of website. Major difference between them is on their function and
how they perform their functions. Check for the detail of both topics before understanding the
differences between them.
Web Browser
∙ Web browser is a client, program, software or tool through which we sent HTTP request to web
server. The main purpose of web browser is to locate the content on the World Wide Web and
display in the shape of web page, image, audio or video form.
We can also call it a client server because it contacts the web server for desired information. If the
requested data is available in the web server data then it will send back the requested
information again via web browser.
∙ Microsoft Internet Explorer, Mozilla Firefox, Safari, Opera and Google Chrome are examples of
web browser and they are more advanced than earlier web browser because they are capable
to understand the HTML, JavaScript, AJAX, etc. Now days, web browser for mobiles are also
available, which are called micro browser.
Web Server
∙ Web server is a computer system, which provides the web pages via HTTP (Hypertext Transfer
Protocol). IP address and a domain name is essential for every web server.
∙ Whenever, you insert a URL or web address into your web browser, this sends request to the
web address where domain name of your URL is already saved. Then this server collects the all
information of your web page and sends to browser, which you see in form of web page on
your browser.
∙ Lot of web server software is available in the market in shape of NCSA, Apache, Microsoft and
Netscape. Storing, processing and delivering web pages to clients are its main function. All the
communication between client (web browser) and server takes place via HTTP. ∙ Here, we can
easily understand concept of web browser and web server by following figure.
Sites like Facebook and MySpace allow users to build and customize their own profile sand
communicate with friends.
o Web Application:
Web application is a broad range of new applications make it possible for users to run
programs directly in a Web browser.as Web logs, these allow users to post thoughts and
updates about their life on the Web.
o User Participation:
In traditional web the contents are solely provider by the web site owner or company, but in
web 2.0 the users participate in content sourcing. This is also known as Crowd sourcing.
Examples: Wikipedia & You Tube.
o Long Tail:
The traditional web was like a retail business the product is sold directly to user and the
revenue generated. But in web 2.0 the niche product is not sold directly but offered as a
service on demand basis and income is generated as monthly fee and pay per consumption.
o Rich User Experience :
Traditional web are built with HTML and CSS CGI and had been offered as a static page. On the
other hand Web 2.0 uses AjaxAsynchronous JavaScript + XML) presenting dynamic, rich user
experience to users.
Example: Google Provided Google Maps and Google Suggest.
∙ Web 2.0 technologies provide a level user interaction that was not available before. Websites
have become much more dynamic and interconnected, producing "online communities" and
making it even easier to share information on the Web. Because most Web 2.0 features are
offered as free services, sites like Wikipedia and Facebook have grown at amazingly fast rates
Display Resolution
∙ Display resolution is another important factor affecting the Web page design, as we do not have any
control on display resolution of the monitors on which user views our pages.
∙ Display or screen resolution is measured in terms of pixels and common resolutions are 800 X 600 and
1024 X 786.
∙ We have three choices for Web page design.
o Design a web page with fixed resolution.
o Make a flexible design using HTML table to fit into different resolution.
o If the page is displayed on a monitor with a higher resolution, the page is displayed on left
hand side and some part on the right-hand side remains blank. We can use centered design
to display page properly.
o (Not For Exam) Ideally we should use some frameworks for designing like Bootstrap/Material
design.
Locating Information
∙ Webpage is viewed on a computer screen and the screen can be divided into five major areas such as
center, top, right, bottom and left in this particular order.
∙ The first major area of importance in terms of users viewing pattern is the center, then top, right,
bottom and left in this particular order.
Sitemap
∙ Many a times Web sites are too complex as there are a large number of sections and each section
contains many pages.
∙ It becomes difficult for visitors to quickly move from one part to other.
∙ Once the user selects a particular section and pages in that section, user gets confused about where
he/she is and where to go from there.
∙ To make it simple, keep your hierarchy of information to few levels or provide the navigation bar on
each page to jump directly to a particular section.
HTML
What is HTML?
∙ Stands for Hypertext Markup Language.
∙ Most documents that appear on the World Wide Web were written in HTML.
∙ HTML is a markup language, not a programming language. In fact, the term HTML is an acronym that
stands for Hypertext Markup Language.
∙ We can apply this markup language to your pages to display text, images, sound and movie files, and
almost any other type of electronic information.
∙ We use the language to format documents and link them together, regardless of the type of computer
with which the file was originally created.
HTML Elements
∙ An element consists of three basic parts: an opening tag, the element's content, and finally, a closing
tag.
<p> - opening paragraph tag
Element Content - paragraph words
</p> - closing tag
∙ Every (web) page requires four critical elements: the html, head, title, and body elements.
1. <html> Element...</html>
o <html> begins and ends each and every web page.
o Its purpose is to encapsulate all the HTML code and describe the HTML document to the web
browser.
<html></html>
2. <head> Element
o The <head> element is "next" as they say. As long as it falls somewhere between your <html> tag
and your web page content (<body>).
o The head functions "behind the scenes." Tags placed within the head element are not directly
displayed by web browsers.
o We will be placing the <title> element here.
o Other elements used for scripting (JavaScript) and formatting (CSS) will eventually be introduced
and you will have to place them within your head element.
<html>
<head>
</head>
</html>
HTML Tags
o A web browser reads an HTML document top to bottom, left to right.
o Each time the browser finds a tag, it is displayed accordingly (paragraphs look like paragraphs,
tables look like tables, etc).
o Tags have 3 major parts: opening tag(s), content(s), and closing tag(s).
o Recall that a completed tag is termed an element.
<html><body>
<h1>This is heading 1</h1><h2>This is heading 2</h2><h3>This is heading 3</h3>
<h4>This is heading 4</h4><h5>This is heading 5</h5><h6>This is heading 6</h6>
</body></html>
3. Line Breaks
o Line breaks are different then most of the tags we have seen so far. A line break ends the line
you are currently on and resumes on the next line.
HTML Lists
<p>Darshan<br />
Computer<br
/></p>
<ol>
<li>Find a Job</li>
<li>Move Out</li>
</ol>
o Start your ordered list on any number besides 1 using the start attribute.
<ol start="4" >
<li>Buy Food</li>
<li>Get a Degree</li>
</ol>
o There are 4 other types of ordered lists. Instead of generic numbers you can replace them with
Roman numerals or letters, both capital and lower-case. Use the type attribute to change the
numbering.
<oltype="a">
<oltype="A">
<oltype="i">
<ol type="I">
</ol>
<ul>
<li>Milk</li>
<li>Chocolate</li>
</ul>
<oltype="square">
<ol type="disc">
<oltype="circle">
</ol>
3. HTML Definition Term Lists
o Make definition lists as seen in dictionaries using the <dl> tag. These lists displace the term word
just above the definition itself for a unique look. It's wise to bold the terms to displace them
further.
∙ <dl> - defines the start of the list
∙ <dt> - definition term
∙ <dd> - defining definition
<dl>
<dt><b>Fromage</b></dt>
<dd>French word for cheese.</dd>
<dt><b>Voiture</b></dt>
<dd>French word for car.</dd>
</dl>
4. HTML Nested Lists
o You can also nest one list within another, so you could make an unordered list inside a <html>
<ol>
<li> Clear out garage</li>
<ul>
<li> Tomatoes</li>
</ul>
<li> repair fence </li>
</ol>
numbered one:
</html>
<sup> The <sup> tag defines superscript text. <p>This text contains
Superscript text appears half a character above <sup>superscript</sup>
the baseline. Superscript text can be used for text.</p>
footnotes, like WWW [1].
<sub> The <sub> tag defines subscript text. Subscript <p>An example of
text appears half a character below the baseline. <sub>subscripted
Subscript text can be used for chemical Text</sub></p>
formulas, like H2O.
<tt> The <tt> tag defines teletype text. <p><tt>This text is teletype
text.</tt></p>
<blink> The <blink> tag is used for blinking the text. <blink> blinking text tag</blink>
<body bgcolor=”red”>
<font color=”red”>
<body bgcolor=”rgb(72,0,0)”>
<font color=”rgb(72,0,0)”>
<body bgcolor=”#ffff00”>
<font color=”#ffff00”>
1. Font Size
o Set the size of your font with size. The range of accepted values is from 1(smallest) to
7(largest).The default size of a font is 3.
2. Font Color
o Set the color of your font with color.
3. Font Face
o Choose a different font face using any font you have installed.
Internal - href="#anchorname"
Local - href="../pics/picturefile.jpg"
Global - href=http://www.xyz.com/
<a href="http://www.google.com/" target="_blank" >Google Home</a> <a
href="http://www.espn.com/" target="_blank" >ESPN Home</a> <a
href="http://www.yahoo.com/" target="_blank" >Yahoo Home</a>
Link Targets
o The target attribute defines whether to open the page in a separate window, or to open the link
in the current browser window.
HTML Code:
target=" _blank" Opens new page in a new browser
window
Anchors
o To link to sections of your existing page a name must be given to the anchor.
o In the example below, we've created a mini Table of Contents for this page.
o By placing blank anchors just after each heading, and naming them, we can then create
reference links to those sections on this page as shown below.
o First, the headings of this page contain blank, named anchors. They look like this.
o Now create the reference links, placing the # symbol followed by the name of the anchor in the
href of the new link.
HTML – Images
o Use the <img /> tag to place an image on your web page.
1. Image src
<imgsrc="sunset.gif
" />
URL Types:
Local Src Location Description
src="sunset.gif" picture file resides in same directory as .html file
2. Alternative Attribute
o The alt attribute specifies alternate text to be displayed if for some reason the browser cannot
find the image, or if a user has image files disabled.
5. Images as Links
o Images are very useful for links and can be created with the HTML below.
<a href="http://www.xyz.com/"><imgsrc="sunset.gif"></a>
HTML Forms
o A form will take input from the viewer and depending on your needs, you may store that data
into a file, place an order, gather user statistics, register the person to your web forum, or
maybe subscribe them to your weekly newsletter.
Making a Form
o <form> is main tag to build a form.
o It has a few optional attributes too. Below is an example of the form element.
o The action attribute tells the HTML where to send the collected information, while the method
attribute describes the way to send it.
Type of Input
o The main tag for collecting information from the user is <input>.
o The tag itself contains a name attribute, so that we can refer to the input by a name, and the size
of the entry box in characters.
o There are quite few different types of input to choose from:
o <input type=”text”/> this is the default input type and accepts characters and numbers into a
text box. It can also have a value attribute attached to it, which will give it an initial value. o <input
type=”password”/> this is similar to the above text box but anything that is typed cannot be seen;
instead an asterisk is printed to cover up the entry. As the name suggests, this is used for password
entry.
o <input type=”checkbox”/> this gives a box that can be toggled between checked and unchecked.
It can initially be set to one or the other with checked=”checked”.
o <input type=”radio”/> this is similar to checkbox but in group of radio buttons only one can be
selected at a time. This can also have an initial checked state on one of the radio buttons. o <input
type=”file”/>This will give a box to allow you to choose a file similar to when you open or save files
usually on your machine. It can be used to select a file on the local machine for upload to a server.
o <input type=”submit”/> this allows a form to be submitted. When pressed, the information will
be passed on for processing, usually to a script mentioned in the action attribute option of the
form.
o <input type=”image”/> this will also submit the form when selected and, like the img tag,
requires the src attribute to specify an associated image.
o <input type=”button”/> this makes a button available.
o <input type=”reset”/> this will reset the form to its initial state when selected.
o <input type=”hidden”/> this allows hidden data(not seen by the user) to be passed along with
the form.
HTML Tables
o The <table> tag is used to begin a table. Within a table element are the <tr> (table rows) and
<td> (table columns) tags.
<table border="1">
<tr><td>Row 1 Cell 1</td><td>Row 1 Cell 2</td></tr>
<tr><td>Row 2 Cell 1</td><td>Row 2 Cell 2</td></tr>
</table>
Row 1 Cell 1 Row 1 Cell 2
o Content is placed within tables cells. A table cell is defined by <td> and </td>.The border
attribute defines how wide the table's border will be.
Row 3 Cell 1
1. Name:
▪ Thename attribute specifies thenameofaformwhichisusedtoreferenceelementsinaJavaScript.
2. Action:
▪ The required action attribute specifies where to send the form-data when a form
issubmitted.
<form action="URL"> Value : URL
Description : Where to send the form data.
3. Method :
▪ The method attribute specifies how to send form-data (the form-data is sent to the
pagespecified in the action attribute).
<form method="get|post">
Value : get
Description : Default. Appends the form-data to the URL in name/value pairs:
URL?name=value&name=value
Value : post
Description : Sends the form-data as an HTTP post transaction.
4. Target
▪ The target attribute specifies a name or a keyword that indicates where to display the
response that is received after submitting the form.
<form target="_blank|_self|_parent|_top|framename">
Value Description
_blank Theresponseisdisplayedinanewwindowortab
_self Theresponseisdisplayedinthesameframe(thisisdefault)
_parent Theresponseisdisplayedintheparentframe
_top Theresponseisdisplayedinthefullbodyofthewindow
framename Theresponseisdisplayedinanamedframe
(1)<optgroup> :
∙ The <optgroup> is used to group related options in a drop-down list. If you have a long list of
options, groups of related options are easier to handle for a user.
<select>
<optgroup label="Swedish Cars">
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
</optgroup>
<optgroup label="German Cars">
<option value="mercedes">Mercedes</option>
<option value="audi">Audi</option>
</optgroup>
</select>
(2)<span>:
∙ The <span> tag is used to group inline-elements in a document.
∙ The <span> tag provides no visual change by itself.
∙ The <span> tag provides a way to add a hook to a part of a text or a part of a document. ∙ When
the text is hooked in a <span> element you can add styles to the content, or manipulate
thecontent with for example JavaScript.
<p>Mymotherhas<spanstyle="color:lightblue">lightblue</span>eyes.</p>
Introduction to HTML5
∙ The DOCTYPE declaration for HTML5 is very simple:
<!DOCTYPE html>
∙ The character encoding (charset) declaration is also very simple:
<meta charset="UTF-8">
∙ New HTML5 Elements:
o New semantic elements like <header>, <footer>, <article>, and <section>.
o New form control attributes like number, date, time, calendar, and range.
o New graphic elements: <svg> and <canvas>.
o New multimedia elements: <audio> and <video>.
o Elements Removed in HTML5
The following HTML4 elements have been removed from HTML5:
Element Use instead
<acronym> <abbr>
<applet> <object>
<basefont> CSS
<big> CSS
<center> CSS
<dir> <ul>
<font> CSS
<frame>
<frameset>
<noframes>
<strike> CSS
<tt> CSS
What is CSS?
∙ CSS stands for Cascading Style Sheets
∙ Styles define how to display HTML elements
∙ External Style Sheets can save a lot of work
∙ External Style Sheets are stored in CSS files
Importance of CSS
∙ CSS defines HOW HTML elements are to be displayed.
∙ Styles are normally saved in external .css files. External style sheets enable you to change the
appearance and layout of all the pages in a Web site, just by editing one single file.
CSS Syntax
∙ A CSS rule has two main parts: a selector, and one or more declarations:
The id Selector
∙ The id selector is used to specify a style for a single, unique element.
∙ The id selector uses the id attribute of the HTML element, and is defined with a "#". ∙
The style rule below will be applied to the element with id="para1":
#para1
{ text-align:center; color:red; }
.center {text-align:center;}
∙ We can use more than one class in a single element
Explain different ways to write the CSS. / Explain CSS with all types. / Enlist
and explain methods of using CSS in web page.
∙ There are three ways of inserting a style sheet:
o External style sheet
o Internal/Embedded style sheet
o Inline style
1. External Style Sheet
o When using CSS it is preferable to keep the CSS separate from your HTML.
o Placing CSS in a separate file allows the web designer to completely differentiate between
content (HTML) and design (CSS).
o External CSS is a file that contains only CSS code and is saved with a ".css" file extension.
o This CSS file is then referenced in your HTML using the <link> instead of <style>.
File Creation
o Open up notepad.exe, or any other plain text editor and type the following CSS code.
body{ background-color: gray;} p { color: blue; }h3{ color: white; }
o Save the file as a CSS (.css) file.
o Name the file "test.css" (without the quotes). Now create a new HTML file and fill it with
the following code.
<html><head>
<link rel="stylesheet" type="text/css" href="test.css" /></head>
<body>
<h3> A White Header </h3>
<p> This paragraph has a blue font.
The background color of this page is gray because we changed it with CSS! </p>
</body></html>
o It's much easier to reuse your CSS code if you have it in a separate file. Instead of typing
the same CSS code on every web page you have, simply have many pages refer to a single
CSS file with the "link" tag.
o You can make drastic changes to your web pages with just a few changes in a single CSS
file.
2. Internal/Embedded CSS
o This type of CSS is only for Single Page.
o When using internal CSS, we must add a new tag, <style>, inside the <head> tag. The HTML
code below contains an example of <style>'s usage.
<html><head>
<style type="text/css"></style>
</head><body>
<p>Your page's content!</p></body>
</html>
3. Inline CSS
o It is possible to place CSS right in your HTML code, and this method of CSS usage is referred
to as inline css.
o Inline CSS has the highest priority out of external, internal, and inline CSS.
o This means that you can override styles that are defined in external or internal by using
inline CSS.
o If you want to add a style inside an HTML element all you have to do is specify the desired
CSS properties with the style HTML attribute.
<html><head>
<link rel="stylesheet" type="text/css" href="test.css" /></head>
<body>
<p style="background: blue; color: white;">A new background andfont color with
inline CSS</p></body>
</html>
body {background-image:url('paper.gif');}
3. Background Image Repeat
o You can have a background image repeat vertically (y-axis), horizontally (x-axis), in both
directions, or in neither direction.
p {background-image: url(smallPic.jpg); background-repeat: repeat; }
h4 {background-image: url(smallPic.jpg); background-repeat: repeat-y; }
ol {background-image: url(smallPic.jpg); background-repeat: repeat-x; }
ul {background-image: url(smallPic.jpg);background-repeat: no-repeat; }
p { font-variant: small-caps; }}
2. Text Indent
o The text-indentation property is used to specify the indentation of the first line of a text.
p { text-indent: 20px; } h5 { text-indent: 30%; }
3. Text Align
o The text-align property is used to set the horizontal alignment of a text.
p { text-align: right; }
h5{ text-align: justify; }
4. Text Transform
o The text-transform property is used to specify uppercase and lowercase letters in a text.
padding-top:25px;
padding-bottom:25px;
padding-right:50px;
padding-left:50px;
∙ The top, right, bottom, and left margin can be changed independently using separate properties. A
shorthand margin property can also be used, to change all margins at once.
Value Descriptions
length Specifies a margin in px, pt, cm, etc. Default value is 0px
4 - CSS
2. Margin - Shorthand property
o To shorten the code, it is possible to specify all the margin properties in one property. This
is called a shorthand property.
margin:100px 50px;
2. Border Width
o The border-width property is used to set the width of the border.
3. Border Color
o The border-color property is used to set the color of the border.
o Border colors can be any color defined by RGB, hexadecimal, or key terms. Below is an
example of each of these types.
4. Border: border-(direction)
o If you would like to place a border on only one side of an HTML element, or maybe have a
unique look for each side of the border, then use border-(direction).
o The direction choices are of course: top, right, bottom, and left. CSS allows you to treat
each side of a border separately from the other three sides.
o Each side can have its own color, width, and style set, as shown below.
p { border-bottom-style: dashed ; border-bottom-color: yellow; border-bottom-width: 5px;
} h4 { border-top-style: double; border-top-color: purple; border-top-width: thick; }
ol { list-style-type: upper-roman; }
ul { list-style-type: circle; }
ul { list-style-image: url("listArrow.gif"); }
ol { list-style-image: url("listArrow2.gif"); }
ul { list-style-position: inside; }
ol { list-style-position: outside; }
∙ Note: "Outside" is actually the default setting for indentation.
2. Position Absolute
o With absolute positioning, you define the exact pixel value where the specified HTML
element will appear.
o The point of origin is the top-left of the browser's viewable area, so be sure you are
measuring from that point.
h3 {position: absolute; top: 50px;left: 45px;}
p{position: absolute; top: 75px;left: 75px;}
Introduction to CSS3
∙ CSS3 is the latest standard for CSS.
∙ CSS3 is completely backwards-compatible with earlier versions of CSS.
∙ CSS3 has been split into "modules". It contains the "old CSS specification" (which has been split into
smaller pieces). In addition, new modules are added.
∙ CSS3 Transitions are a presentational effect which allow property changes in CSS values, such as
those that may be defined to occur on :hover or :focus, to occur smoothly over a specified
duration – rather than happening instantaneously as is the normal behaviour.
∙ Transition effects can be applied to a wide variety of CSS properties, including background-color,
width, height, opacity, and many more.
∙ Some of the most important CSS3 modules are:
o Selectors
o Box Model
o Backgrounds and Borders
o Image Values and Replaced Content
o Text Effects
o 2D/3D Transformations
o Animations
o Multiple Column Layout
o User Interface
XML
What is XML?
∙ XML is a meta-language, which can be used to store data & act as a mechanism to transfer information
between dissimilar systems.
∙ XML stands for EXtensible Markup Language.
∙ XML is a markup language much like HTML.
∙ XML was designed to describe data.
∙ XML tags are not predefined in XML. You must define your own tags.
∙ XML is self describing.
∙ XML uses a DTD (Document Type Definition) to formally describe the data.
<?xml version=”1.0”?>
<Person>
<Firstname>Ralph</Firstname>
<Lastname>Mosely</Lastname>
</Person>
XML was designed to store data and transferthe HTML was designed to display data.
data.
XML focuses on what data is. HTML focus on how data looks.
In XML you can design your own tag. HTML has predefined tags.
XML uses parser to check & read xml fileseg. DOM, HTML don’t use any kind of parser
SAX
Use of XML
∙ Used to exchange data between dissimilar systems.
∙ Used to describe content of document.
∙ XML can be used as database to store data.
Features of XML
∙ XML has its own tag so it’s self describing.
∙ Language Independent:Any language is able to read & write XML.
∙ OS Independent: can be work on any platform.
∙ Readability: It’s a plain text file in user readable format so you can edit or viewin simple editor.
∙ Hierarchical: It has hierarchical structure which is powerful to express complex data and simple to
understand.
<bookstore>
<book category="CHILDREN">
<title>Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>
</bookstore>
<file type="gif">computer.gif</file>
Xmlns=”http://www.mydomian.com/ns/animals/1.1”
<?xml version="1.0"?>
<!DOCTYPE note [
<!ELEMENT note (to,from,heading,body)>
<!ELEMENT to (#PCDATA)>
<!ELEMENT from (#PCDATA)>
<!ELEMENT heading (#PCDATA)>
<!ELEMENT body (#PCDATA)>
]>
<note>
<to>Ravi</to>
<from>Ketan</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
<?xml version="1.0"?>
<!DOCTYPE note SYSTEM "note.dtd">
<note>
<to>Ravi</to>
<from>Narendra</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
o This is a copy of the file "note.dtd" containing the Document Type Definition:
<?xml version="1.0"?>
<!ELEMENT note (to,from,heading,body)>
<!ELEMENT to (#PCDATA)>
<!ELEMENT from (#PCDATA)>
<!ELEMENT heading (#PCDATA)>
<!ELEMENT body (#PCDATA)>
DTD - Elements
∙ In the DTD, XML elements are declared with an element declaration. An element declaration has the
following syntax:
∙ Empty elements
o Empty elements are declared with the keyword EMPTY inside the parentheses:
o #CDATA means the element contains character data that is not supposed to be parsed bya
parser.
o #PCDATA means that the element contains data that IS going to be parsed by a parser.
o The keyword ANY declares an element with any content.
o If a #PCDATA section contains elements, these elements must also be declared.
∙ Elements with children (sequences)
o Elements with one or more children are defined with the name of the children
elementsinside the parentheses:
o When children are declared in a sequence separated by commas, the children must appearin
the same sequence in the document. In a full declaration, the children must also bedeclared,
and the children can also have children. The full declaration of the notedocument will be:
<!ELEMENT note (to,from,heading,body)>
<!ELEMENT to (#CDATA)>
<!ELEMENT from (#CDATA)>
<!ELEMENT heading (#CDATA)>
<!ELEMENT body (#CDATA)>
∙ Wrapping
o If the DTD is to be included in your XML source file, it should be wrapped in aDOCTYPE
definition with the following syntax:
<!DOCTYPE root-element [element-declarations]>
example:
<?xml version="1.0"?>
<!DOCTYPE note [
<!ELEMENT note (to,from,heading,body)>
<!ELEMENT to (#CDATA)>
<!ELEMENT from (#CDATA)>
<!ELEMENT heading (#CDATA)>
<!ELEMENT body (#CDATA)>
]>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend</body></note>
o The example declaration above declares that the child element message can only occurone
time inside the note element.
∙ Declaring minimum one occurrence of the same element
o The + sign in the example above declares that the child element message must occur oneor
more times inside the note element.
∙ Declaring zero or more occurrences of the same element
o The * sign in the example above declares that the child element message can occur zeroor
more times inside the note element.
∙ Declaring zero or one occurrences of the same element
o The? Sign in the example above declares that the child element message can occur zeroor
one times inside the note element.
DTD – Attributes
∙ Attributes provide extra information about elements.
∙ Attributes are placed inside the start tag of an element.
∙ Declaring Attributes
o In the DTD, XML element attributes are declared with an ATTLIST declaration. Anattribute
declaration has the following syntax:
<!ATTLIST element-name attribute-name attribute-type default-value>
o As you can see from the syntax above, the ATTLIST declaration defines the elementwhich can
have the attribute, the name of the attribute, the type of the attribute, and thedefault
attribute value.
o The attribute-type can have the following values:
Value Explanation
DTD example:
<!ELEMENT square EMPTY>
<!ATTLIST square width CDATA "0">
XML example:
<square width="100"></square>
o In the above example the element square is defined to be an empty element with
theattributes width of type CDATA. The width attribute has a default value of 0.
XML Schema
∙ An XML Schema describes the structure of an XML document.
∙ XML Schema is an XML-based alternative to DTD.
∙ The XML Schema language is also referred to as XML Schema Definition (XSD).
∙ XML Schema is a W3C Recommendation.
XSD Elements
∙ XML Schemas define the elements of your XML files. It’s of two types:
o Simple
o Complex Type
<lastname>Refsnes</lastname>
<age>36</age>
<dateborn>1970-03-27</dateborn>
<product pid="1345"/>
o A complex XML element, "employee", which contains only other elements:
<employee>
<firstname>John</firstname>
<lastname>Smith</lastname>
</employee>
Markup Any global element can be root. Can specify only the root
Code reuse Can reuse definitions using Poorly supported. Can use
named types. parameter entities.
Data type Provides flexible set of data No real data type support.
Validatio types. Provides multi-field key
n cross references. No co-
occurrence constraints.
XSL
What is XSL?
∙ XSL stands for EXtensible Stylesheet Language.
∙ XSL = Style Sheets for XML
∙ XSL describes how the XML document should be displayed!
∙ XSL - More Than a Style Sheet Language
∙ XSL consists of three parts:
o XSLT-a language for transforming XML documents
o XPath-a language for navigating in XML documents
o XSL-FO-a language for formatting XML documents
What is XSLT?
∙ XSLT stands for XSL Transformations.
∙ XSLT is the most important part of XSL.
∙ XSLT transforms an XML document into another XML document.
∙ XSLT uses XPath to navigate in XML documents.
Linking
∙ The style sheet is linked into the XML by adding the connecting statement to the XML document:
<?xml-stylesheet type=”text/xsl” href=”libstyle.xsl” ?>
XSL Transformations
∙ XSLT is the most important part of XSL.
∙ XSLT is used to transform an XML document into another XML document, or another type of
document that is recognized by a browser, like HTML and XHTML. Normally XSLT does this by
transforming each XML element into an (X)HTML element.
∙ With XSLT you can add/remove elements and attributes to or from the output file. You can also rearrange and
sort elements, perform tests and make decisions about which elements to hide and display, and a lot more.
∙ A common way to describe the transformation process is to say that XSLT transforms an XML
source-tree in to an XML result-tree.
∙ XSLT Uses XPath:
o XSLT uses XPath to find information in an XML document.
o XPath is used to navigate through elements and attributes in XML documents.
∙ XSLT Works as:
o In the transformation process, XSLT uses XPath to define parts of the source document
that should match one or more predefined templates.
o When a match Is found, XSLT will transform the matching part of the source document into
the result document.
XSL Elements
∙ XSL contains many elements that can be used to manipulate, iterate and select XML, for output. o
value-of
o for-each
o sort
o if
o choose
<xsl:value-of> Element
∙ The <xsl:value-of> element extracts the value of a selected node.
∙ The <xsl:value-of> element can be used to select the value of an XML element and add it to the output.
∙ Syntax
<xsl:value-of select="expression" />
o expression: This is Required. An XPath expression that specifies which node/attribute to
extract the value from. It works like navigating a file system where a forward slash (/) selects
subdirectories.
<xsl:for-each> Element
∙ The XSL <xsl:for-each> element can be used to select every XML element of a specified node-set.
<xsl:if> Element
∙ To put a conditional if test against the content of the XML file, add an <xsl:if> element to the XSL
document.
∙ Syntax
<xsl:if test="expression">
...some output if the expression is
true...
</xsl:if>
<xsl:sort> Element
∙ The <xsl:sort> element is used to sort the output.
∙ <xsl:sort select="artist"/>
∙ The select attribute indicates what XML element to sort on.
<xsl:choose> Element
∙ The <xsl:choose> element is used in conjunction with <xsl:when> and <xsl:otherwise> to express
multiple conditional tests.
Syntax
<xsl:choose>
<xsl:when test="expression">
... some output ...
</xsl:when>
<xsl:otherwise>
... some output ....
</xsl:otherwise>
</xsl:choose>
<xsl:apply-templates> Element
∙ The <xsl:apply-templates> element applies a template to the current element or to the current
element's child nodes.
∙ If we add a select attribute to the <xsl:apply-templates> element it will process only the child element
that matches the value of the attribute. We can use the select attribute to specify the order in which
the child nodes are processed.
∙ Look at the following XSL style sheet:
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<body>
<h2>My CD Collection</h2>
<xsl:apply-templates/>
</body>
</html>
</xsl:template>
<xsl:template match="cd">
<p>
<xsl:apply-templates select="title"/>
<xsl:apply-templates select="artist"/>
</p>
</xsl:template>
</xsl:stylesheet>
Using JavaScript
∙ One way to process and transform XML on the client side is using JavaScript, which has several
features for doing the task very well.
<html>
<body>
<script type=”text/javascript”>
//Load the XML document
var xml= new ActiveXObject(“Microsoft.XMLDOM”)
xml.async=false
xml.load(“lib.xml”)
//Load the XSL document
var xsl= new ActiveXObject(“Microsoft.XMLDOM”)
xsl.async= false
xsl.load(“libstyle.xsl”)
//Do the actual transform
document.write(xml.transformNode(xsl))
</script>
</body>
</html>
∙ Above example shows one way to transform with JavaScript using Microsoft’s proprietary Application
Programming Interface (API) for the Internet Explorer browser.
∙ It is also possible to process XML using the DOM.
∙ Using both the of these mechanisms it is possible to also traverse an XML document and process either
according to a style sheet or simply using the JavaScript to make the stylistic decisions. ∙ Apart from
JavaScript, it is also possible to use other programming languages (such as Java and .Net) to process and
then output a transformed document.
3.1.1 Definition
3.1.2 Advantages
Selector {property:
value}
Example:You can define a heading as follows:
h1 {color:
red; font-size :15px}
Property
Selector Value Property Value
Selector
{
property1: some value;
property2: some value;
}
The declaration contains the property and value for the selector. The property
is the attribute you wish to change and each property can take a value. The
property and value are separated by a colon and surrounded by curly braces:
body { background-color: black}
If the value of a property is more than one word, put quotes around that value:
body { font-family: "sans serif"; } If you wish to specify more than one
property, you must use a semi-colon to separate each property. This rule
defines a paragraph that will have blue text that is centered.
p { text-align: center; color: blue }
You can group selectors. Separate each selector with a comma. The example
below groups headers 1, 2, and 3 and makes them all yellow. h1, h2, h3 {
color: yellow}
3.3 CSS Selectors
You can define selectors in various simple ways based on your comfort. Let
me put these selectors one by one. Three types of CSS Selectors
1. The Element selectors
2. The ID Selectors
3. The Class Selectors
3.3.1 The Element selectors
A CSS declaration always ends with a semicolon, and declaration
groups are surrounded by curly brackets: example -
p {color:red;text-align:center;}
To make the CSS more readable, you can put one declaration on each
line, like this:
p
{
color:red;
text-align:center;
}
3.3.2 The ID selectors
The id selector is used to specify a style for a single, unique
element.The id selector uses the id attribute of the HTML element, and
is defined with a "#". Example –
Imagine within the body element of our html page, we have the
following paragraph element
<p id=”welcome”>Welcome to the 1st CSS
Document </p>
We can then create a CSS rule with the id selector:
#welcome
{
color:red;
text-align:center;
}
3.3.3 The Class selectors
The class selector is used to specify a style for a group of elements.
Unlike the id selector, the class selector is most often used on several
elements. This allows you to set a particular style for many HTML
elements with the same class. The class selector uses the HTML class
attribute, and is defined with a ".". In the example below, all HTML
elements with class="center" will be center-aligned:
Imagine within the body element of our html page, we have the
following header element
<h2 class=”center”>Summary</h2>
We can then create a CSS rule with the class selector:
.center {text-align:center;}
4
You can also specify that only specific HTML elements should be
affected by a class. In the example below, all p elements with
class="center" will be center-aligned: example
p.center {text-align:center;}
Some of the other selectors are used in CSS, they are :
3.3.3.1 Universal selector
An asterisk (*) is the universal selector for CSS. It matches a single
element of any type. Omitting the asterisk with simple selectors has the
same effect. For instance, *.warning and. warning are considered equal.
Rather than selecting elements of a specific type, the universal selector
quite simply matches the name of any element type: Example-
*
{
Color:#000000;
}
This rule renders the content of every element in our document in
black. 3.3.3.2 Attribute Selector
You can also apply styles to HTML elements with particular attributes.
The style rule below will match all the input elements having a type
attribute with a value of text:
input[type="text"]
{
color: #000000;
}
The advantage to this method is that the <input type="submit" />
element is unaffected, and the color applied only to the desired text
fields.There are following rules applied to attribute selector.
p[lang] - Selects all paragraph elements with a lang attribute.
p[lang="fr"] - Selects all paragraph elements whose lang attribute
has a value of exactly "fr".
p[lang~="fr"] - Selects all paragraph elements whose lang
attribute contains the word "fr".
p[lang|="en"] - Selects all paragraph elements whose lang
attribute contains values that are exactly "en", or begin with
"en-".
3.4 Ways to insert CSS
An external style sheet can be written in any text editor. The file should not
contain any html tags. Your style sheet should be saved with a .css extension.
An example of a style sheet file is shown below:
hr {color:sienna;}
p {margin-left:20px;}
body {background-image:url("images/back40.gif");}
Notes : Do not leave spaces between the property value and the units! "margin
left:20 px" (instead of "margin- left:20px") will work in IE, but not in Firefox
or Opera.
7
You can set the following background properties of an element:
The background-image property is used to set the background image of
an element.
The background-repeat property is used to control the repetition of an
image in the background.
The background-position property is used to control the position of an
image in the background.
The background-attachment property is used to control the scrolling of
an image in the background.
The background property is used as shorthand to specify a number of other
background properties.
3.5.1 Repeat the Background Image
The following example demonstrates how to repeat the background image
if an image is small. You can use no-repeat value for the background-repeat
property if you don't want to repeat an image. In this case, the image will display
only once. By default, the background-repeat property will have a repeat value.
<table style="background-image:url(/https/www.scribd.com/images/pattern1.gif); background-
repeat: repeat;">
<tr><td>
This table has background image which repeats multiple times.
</td></tr>
</table>
The following example which demonstrates how to repeat the background image
vertically.
<table style="background-image:url(/https/www.scribd.com/images/pattern1.gif); background-
repeat: repeat-y;">
<tr><td>
This table has background image set which will repeat vertically.
</td></tr> </table>
body {background-color:#b0c4de;}
<p style="background-color:yellow;">
This text has a yellow background color. </p>
This color value is specified using the rgb( ) property. This property takes
three values, one each for red, green, and blue. The value can be an integer
between 0 and 255 or a percentage. NOTE: All the browsers does not support
rgb() property of color, so it is recommended not to use it.
3.7 Text Management using CSS
CSS is a language that describes the style of an HTML document. You can set the
following text properties of an element:
The following example demonstrates how to set the space between words.
Possible values are normal or a number specifying space.
<p style="word-spacing:5px;">This text is having space between words.
</p>
<p style="text-indent:1cm;">
This text will have first line indented by 1cm and this line will
remain at its actual position this is done by CSS text-indent
property.
</p>
12
3.7.7 Decorating the Text
The following example demonstrates how to set the cases for a text.
Possible values are none, capitalize, uppercase, lowercase.
Following is the example, which demonstrates how to set the font family
of an element. Possible value could be any font family name.
<p style="font-family:georgia,garamond,serif;">
This text is rendered in either georgia, garamond, or the default serif font
depending on which font you have at your system. </p>
Usually, all these properties are kept in the header part of the HTML document.
Remember a:hover MUST come after a:link and a:visited in the CSS definition in
order to be effective. Also, a:active MUST come after a:hover in the CSS
definition as follows:
<style type="text/css">
a:link {color: #000000}
a:visited {color: #006600}
a:hover {color: #FFCC00}
a:active {color: #FF00CC}
</style>
The following example demonstrates how to set the link color. Possible
values could be any color name in any valid format.
<style type="text/css">
a:link {color:#000000}
</style>
<style type="text/css">
a:visited {color: #006600}
</style>
<a href="/html/index.htm">Click this link</a>
17
3.9.3 Change the Color of Links when Mouse is Over
The following example demonstrates how to change the color of links
when we bring a mouse pointer over that link. Possible values could be
any color name in any valid format.
<style type="text/css">
a:hover {color: #FFCC00}
</style>
<style type="text/css">
a:active {color: #FF00CC}
</style>
The list-style-type property allows you to control the shape or style of a bullet
point (also known as a marker) in case of unordered lists and the style of
numbering characters in ordered lists. Here are the values, which can be used for
an unordered list:
Value Description
None NA
disc A filled-in
(default) circle
Circle An empty
circle
Square A filled-in
square
Here are the values, which can be used for an ordered list:
Value Description Example
None NA
Inside If the text goes onto a second line, the text will wrap
underneath the marker. It will also appear indented to
where the text would have started if the list had a value of
outside.
Outside If the text goes onto a second line, the text will be
aligned with the start of the first line (to the right of the
bullet).
20
Example :
<html>
<head>
<Title>This is my inline css page</Title>
</head>
<body>
<ul style="list-style-type:circle; list-stlye
position:outside;"><li>Maths</li>
<li>Social Science</li>
<li>Physics</li>
</ul>
<ul style="list-style-type:square;list-style
position:inside;"><li>Maths</li>
<li>Social Science</li>
<li>Physics</li>
</ul>
<ol style="list-style-type:decimal;list-stlye
position:outside;"><li>Maths</li>
<li>Social Science</li>
<li>Physics</li>
</ol>
<ol style="list-style-type:lower-alpha;list-style-position:inside;">
<li>Maths</li>
<li>Social Science</li><li>Physics</li>
</ol>
</body>
</html>
3.11 Designing Tables using CSS
Tables are an excellent way to organize and display information on a page. You
can set the following properties of a table:
This property can have two values collapse and separate. The following
example uses both the values:
<html>
<head>
<Title>This is my inline css page</Title>
</head>
<body>
<style type="text/css">
table.one
{border-collapse:collapse;}
table.two
{border-collapse:separate;}
td.a
{
border-style:dotted;
border-width:3px;
border-color:#000000;
padding: 10px;
}
td.b
{
border-style:solid;
border-width:3px;
border-color:#333333;
padding:10px;
}
22
</style>
<table class="one">
<caption>Collapse Border Example</caption>
<tr><td class="a"> Cell A Collapse Example</td></tr>
<tr><td class="b"> Cell B Collapse Example</td></tr>
</table><br />
<table class="two">
<caption>Separate Border Example</caption>
<tr><td class="a"> Cell A Separate Example</td></tr>
<tr><td class="b"> Cell B Separate Example</td></tr>
</table>
</body>
</html>
The empty-cells property indicates whether a cell without any content should have
a border displayed. This property can have one of the three values - show, hide, or
inherit. Here is the empty-cells property used to hide borders of empty cells in the
<table> element.
Example:
<html>
<head>
<Title>This is my inline css page</Title>
</head>
<body>
<style type="text/css">
table.empty
{
width:350px;
border-collapse:separate;
empty-cells:hide;
}
td.empty
{
padding:5px;
border-style:solid;
24
border-width:1px;
border-color:#999999;}
</style>
<table class="empty">
<tr>
<th></th>
<th>Title one</th>
<th>Title two</th>
</tr>
<tr>
<th>Row Title</th>
<td class="empty">value</td><td
class="empty">value</td></tr> <tr>
<th>Row Title</th>
<td class="empty">value</td><td class="empty"></td>
</tr>
</table>
</body>
</html>
3.12 Working with Box Model
You have seen the border that surrounds every box i.e. element, the padding that
can appear inside each box, and the margin that can go around them. In this
chapter, we will learn how to change the dimensions of boxes. We have the
following properties that allow you to control the dimensions of a box.
The height property is used to set the height of a box.
The width property is used to set the width of a box.
The line-height property is used to set the height of a line of text.
The max-height property is used to set a maximum height that a box can
be.
The min-height property is used to set the minimum height that a box can
be.
The max-width property is used to set the maximum width that a box can
be.
The min-width property is used to set the minimum width that a box can
be.
The height and width properties allow you to set the height and width for boxes.
They can take values of a length, a percentage, or the keyword auto.
3.12.2 The line-height Property
The line-height property allows you to increase the space between lines of text.
The value of the line-height property can be a number, a length, or a percentage.
3.12.3 The max-height Property
The max-height property allows you to specify the maximum height of a box. The
value of the max-height property can be a number, a length, or a percentage.
The border-color property allows you to change the color of the border
surrounding an element. You can individually change the color of the bottom, left,
top and right sides of an element's border using the properties:
The border-style property allows you to select one of the following styles of
border:
none: No border. (Equivalent of border-width:0;)
solid: Border is a single solid line.
dotted: Border is a series of dots.
dashed: Border is a series of short lines.
double: Border is two solid lines.
groove: Border looks as though it is carved into the page.
ridge: Border looks the opposite of groove.
inset: Border makes the box look like it is embedded in the page.
outset: Border makes the box look like it is coming out of the canvas.
hidden: Same as none, except in terms of border-conflict resolution for table
elements.
You can individually change the style of the bottom, left, top, and right borders of
an element using the following properties:
NOTE: The outline properties are not supported by IE 6 or Netscape 7. You can
set the following outline properties using CSS.
The outline-width property specifies the width of the outline to be added to the
box. Its value should be a length or one of the values thin, medium, or thick, just
like the border-width attribute. A width of zero pixels means no outline.
The outline-style property specifies the style for the line (solid, dotted, or dashed)
that goes around an element. It can take one of the following values:
none: No border. (Equivalent of outline-width:0;)
solid: Outline is a single solid line.
dotted: Outline is a series of dots.
dashed: Outline is a series of short lines.
double: Outline is two solid lines.
groove: Outline looks as though it is carved into the page.
ridge: Outline looks the opposite of groove.
inset: Outline makes the box look like it is embedded in the page.
outset: Outline makes the box look like it is coming out of the canvas.
hidden: Same as none.
The outline-color property allows you to specify the color of the outline. Its value
should either be a color name, a hex color, or an RGB value, as with the color and
border-color properties. Here is an example:
The margin-bottom property allows you to set the bottom margin of an element. It
can have a value in length, %, or auto.
The padding-bottom property sets the bottom padding (space) of an element. This
can take a value in terms of length of %.
4.1.2 The padding-top Property
The padding-top property sets the top padding (space) of an element. This can take a
value in terms of length of %. Here is an example:
4.2 Setting Display Using CSS
The display property is the most important CSS property for controlling layout.
The display property specifies if/how an element is displayed. Every HTML
element has a default display value depending on what type of element it is. The
default display value for most elements is block or inline. A block element is
often called a block-level element. An inline element is always just called an
inline element.
A block-level element always starts on a new line and takes up the full width
available (stretches out to the left and right as far as it can).
Tip: Resize the browser window to less than 500px wide, to see the difference
between the two divs!
Relative positioning changes the position of the HTML element relative to where
it normally appears. So "left:20" adds 20 pixels to the element's LEFT position.
You can use two values top and left along with the position property to move an
HTML element anywhere in an HTML document.
NOTE: You can use the bottom or right values as well in the same way as top and
left.
4.4.2 Absolute Positioning
An element with position: absolute is positioned at the specified coordinates
relative to your screen top-left corner. You can use two values top and left along
with the position property to move an HTML element anywhere in HTML
document.
Move Left - Use a negative value for left.
Move Right - Use a positive value for left.
Move Up - Use a negative value for top.
Move Down - Use a positive value for top.
NOTE: You can use bottom or right values as well in the same way as top and
left.
Here is an example:
<div style="position: absolute; left: 80px; top: 20px; background-color:
yellow ;">
This div has absolute positioning.
</div>
4.4.3 Fixed Positioning
Fixed positioning allows you to fix the position of an element to a particular spot
on the page, regardless of scrolling. Specified coordinates will be relative to the
browser window. You can use two values top and left along with the position
property to move an HTML element anywhere in the HTML document.
NOTE: You can use bottom or right values as well in the same way as top and
left.
Here is an example:
With CSS float, an element can be pushed to the left or right, allowing other
elements to wrap around it. Float is very often used for images, but it is also
useful when working with layouts.
A line box is next to a float when there exists a vertical position that satisfies all
of these four conditions:
(a) At or below the top of the line box,
(b) At or above the bottom of the line box
(c) Below the top margin edge of the float, and
(d) Above the bottom margin edge of the float.
img { float:right; }
If you place several floating elements after each other, they will float next to each
other if there is room. Here we have made an image gallery using the float
property:
Example
Elements after the floating element will flow around it. To avoid this, use
the clear property. The clear property specifies which sides of an element
other floating elements are not allowed. Add a text line into the image
gallery, using the clear property:
Example:
.text_line { clear:both; }
The number in the "CSS" column indicates in which CSS version the
property is defined (CSS1 or CSS2).
Property Description Values CSS
Examples
The old way - using float (notice that we also need to specify a clear property for
the element after the floating boxes):
<!DOCTYPE html>
<html>
<head>
<style>
.floating-box
{
float: left;
width: 150px;
height: 75px;
margin: 10px;
border: 3px solid #73AD21;
}
.after-box
{
clear: left;
border: 3px solid red;
}
</style>
</head>
<body>
<div class="floating-box">Floating box</div>
<div class="floating-box">Floating box</div>
<div class="floating-box">Floating box</div>
<div class="floating-box">Floating box</div>
<div class="floating-box">Floating box</div>
<div class="floating-box">Floating box</div>
<div class="floating-box">Floating box</div>
<div class="floating-box">Floating box</div>
<div class="after-box">Another box, after the floating
boxes...</div> </body>
</html>
4.7 Horizontal Alignment in CSS
.center
{
margin: auto;
width: 50%;
border: 3px solid green;
padding: 10px;
}
Note: Center aligning has no effect if the width property is not set (or set to
100%).
4.7.2 Center Align Text
Example:
.right {
position: absolute;
right: 0px;
width: 300px;
border: 3px solid #73AD21;
padding: 10px;
}
Note: Absolute positioned elements are removed from the normal flow,
and can overlap elements.
Tip: When aligning elements with position, always define margin and padding for
the <body> element. This is to avoid visual differences in different browsers.
There is also a problem with IE8 and earlier, when using position. If a container
element (in our case <div class="container">) has a specified width, and the
!DOCTYPE declaration is missing, IE8 and earlier versions will add a 17px
margin on the right side. This seems to be space reserved for a scrollbar. So,
always set the !DOCTYPE declaration when using position:
<!DOCTYPE html>
<html>
<head>
<style>
body
{
margin: 0;
padding: 0;
}
.container
{
position: relative;
width: 100%;
}
.right
{
position: absolute;
right: 0px;
width: 300px;
background-color: #b0e0e6;
}
</style>
</head>
<body>
<h2>Right Align</h2>
<div class="container">
<div class="right">
<p><b>Note: </b>When aligning using the position property,
always include the !DOCTYPE declaration! If missing, it can
produce strange results in IE browsers.</p>
</div>
</div>
</body>
</html>
4.8 Working with Combinatory
A combinatory is something that explains the relationship between the selectors. A
CSS selector can contain more than one simple selector. Between the simple
selectors, we can include a combinatory.
There are four different combinatory in CSS:
descendant selector (space)
child selector (>)
adjacent sibling selector (+)
general sibling selector (~)
4.8.1 Descendant Selector
The following example selects all <p> elements inside <div> elements:
Example
div p
{
background-color: yellow;
}
4.8.2 Child Selector
The child selector selects all elements that are the immediate children of a
specified element.
The following example selects all <p> elements that are immediate
children of a <div> element:
Example
<div > p {
background-color: yellow;
}
4.8.3 Adjacent Sibling Selector
The adjacent sibling selector selects all elements that are the adjacent
siblings of a specified element. Sibling elements must have the same
parent element, and "adjacent" means "immediately following". The
following example selects all <p> elements that are placed immediately
after <div> elements:
Example:
div + p {
background-color: yellow;
}
Syntax
The syntax of pseudo-classes:
selector: pseudo-class
{
property: value;
}
4.9.1 Anchor Pseudo-classes
Links can be displayed in different ways:
Example
/* unvisited link */
a:link {
color: #FF0000;
}
/* visited link */
a:visited {
color: #00FF00;
}
/* selected link */
a:active {
color: #0000FF;
}
Note: a: hover MUST come after a: link and a:visited in the CSS
definition in order to be effective!a:active MUST come after a:hover in the
CSS definition in order to be effective! Pseudo-class names are not case
sensitive.
div:hover p
{
display: block;
}
4.9.4 The: first-child Pseudo-class
The: first-child pseudo-class matches a specified element that is the first
child of another element.
4.9.5 Match the first <p> element
In the following example, the selector matches any <p> element that is the
first child of any element:
Example
p: first-child
{
color: blue;
}
63
"required" attribute
64
4.10.1 The: first-line pseudo-element
The following example demonstrates how to use the: first-line element to add
special effects to the first line of elements in a document.
The following example demonstrates how to use the: first-letter element to add special
effect to the first letter of elements in the document.
4.10.3 The: before pseudo-element
The : before pseudo-element can be used to insert some content before the
content of an element. The following example demonstrates how to use
:before element to add some content before any element.
<style type="text/css">
p:before
{
content: url(/https/www.scribd.com/images/bullet.gif)
}
</style>
<p> This line will be preceded by a bullet.</p>
<p> This line will be preceded by a bullet.</p>
<p> This line will be preceded by a bullet.</p>
The :after pseudo-element can be used to insert some content after the
content of an element. The following example demonstrates how to use:
after element to add some content after any element.
<style type="text/css">
p:after
{
content: url(/https/www.scribd.com/images/bullet.gif)
}
</style>
<p> This line will be succeeded by a bullet.</p>
<p> This line will be succeeded by a bullet.</p>
<p> This line will be succeeded by a bullet.</p>
<!DOCTYPE html>
<html>
<head>
<style>
::-moz-selection { /* Code for Firefox */
color: red;
background: yellow;
}
::selection {
color: red;
background: yellow;
}
</style>
</head>
<body>
<h1>Select some text on this page:</h1>
<p>This is a paragraph.</p>
<div>This is some text in a div element.</div>
<p><strong>Note:</strong> ::selection is not supported in Internet
Explorer 8 and earlier versions.</p>
<p><strong>Note:</strong> Firefox supports an alternative, the ::-moz
selection property.</p>
</body>
</html>
The code in the example above is the standard code used in both vertical, and
horizontal navigation bars.
4.11.2 Vertical Navigation Bar
To build a vertical navigation bar we only need to style the <a> elements, in
addition to the code above:
Example
a { display:block; width:60px; }
Example explained:
display:block - Displaying the links as block elements makes the whole link
area clickable (not just the text), and it allows us to specify the width
width:60px - Block elements take up the full width available by default. We
want to specify a 60 px width .
Note: Always specify the width for <a> elements in a vertical navigation bar. If
you omit the width, IE6 can produce unexpected results. You can also set the
width of <ul>, and remove the width of <a>, as they will take up the full width
available when displayed as block elements. This will produce the same result as
our previous example:
ul {
list-style-type: none;
margin: 0;
padding: 0;
width: 60px;
}
li a {
display: block;
}
Add text-align:center to <li> or <a> to center the links. Add the border property to
<ul> add a border around the navbar. If you also want borders inside the navbar,
add aborder-bottom to all <li> elements, except for the last one:
<!DOCTYPE html>
<html>
<head>
<style>
ul {
list-style-type: none;
margin: 0;
padding: 0;
width: 200px;
background-color: #f1f1f1;
border: 1px solid #555;
}
li a {
display: block;
color: #000;
padding: 8px 16px;
text-decoration: none;
}
li {
text-align: center;
border-bottom: 1px solid #555;
}
li:last-child {
border-bottom: none;
}
li a.active {
background-color: #4CAF50;
color: white;
}
li a:hover:not(.active) {
background-color: #555;
color: white;
}
</style>
</head>
<body>
<ul>
<li><a class="active" href="#home">Home</a></li>
<li><a href="#news">News</a></li>
<li><a href="#contact">Contact</a></li>
<li><a href="#about">About</a></li>
</ul>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<style>
ul {
list-style-type: none;
margin: 0;
padding: 0;
overflow: hidden;
background-color: #333;
}
li { float: left;
}
li a {
display: block;
color: white;
text-align: center;
padding: 14px 16px;
text-decoration: none;
}
li a:hover {
background-color: #111;
}
</style>
</head>
<body>
<ul>
<li><a class="active" href="#home">Home</a></li>
<li><a href="#news">News</a></li>
<li><a href="#contact">Contact</a></li>
<li><a href="#about">About</a></li>
</ul>
</body>
</html>
The border property of an image is used to set the width of an image border. This
property can have a value in length or in %. A width of zero pixels means no
border.
The width property of an image is used to set the width of an image. This property
can have a value in length or in %. While giving value in %, it applies it in respect
of the box in which an image is available.