1
WEB TECHNOLOGIES
LECTURE # 13 & 14
SUBJECT TEACHER: ENGR. AAMIR MAL
2
What is CSS?
Cascading Style Sheets, fondly referred to
as CSS, is a simple design language intended
to simplify the process of making web pages
presentable.
3
What is CSS?
CSS handles the look and feel part of a web
page.
Using CSS, you can control the color of the
text, the style of fonts, the spacing between
paragraphs, how columns are sized and laid
out, what background images or colors are
used, as well as a variety of other effects.
4
What is CSS?
CSS is easy to learn and understand but it
provides a powerful control over the
presentation of an HTML document.
Most commonly, CSS is combined with the
markup languages HTML or XHTML.
5
Advantages of CSS
CSS saves time –
You can write CSS once and then reuse the same sheet
in multiple HTML pages.
You can define a style for each HTML element and apply
it to as many web pages as you want.
6
Advantages of CSS
Pages load faster –
If you are using CSS, you do not need to write HTML
tag attributes every time.
Just write one CSS rule of a tag and apply it to all the
occurrences of that tag.
So, less code means faster download times.
7
Advantages of CSS
Easy maintenance –
To make a global change, simply change the style, and
all the elements in all the web pages will be updated
automatically.
8
Advantages of CSS
Superior styles to HTML –
CSS has a much wider array of attributes than HTML,
so you can give a far better look to your HTML page in
comparison to HTML attributes.
9
Advantages of CSS
Multiple Device Compatibility –
Style sheets allow content to be optimized for more
than one type of device.
By using the same HTML document, different versions
of a website can be presented for handheld devices
such as PDAs and cellphones or for printing.
10
Advantages of CSS
Global web standards –
Now HTML attributes are being deprecated and it is
being recommended to use CSS.
So it’s a good idea to start using CSS in all the HTML
pages to make them compatible with future browsers.
11
CSS SYNTAX
A CSS comprises of style rules that are interpreted by
the browser and then applied to the corresponding
elements in your document.
A style rule is made of three parts:
Selector:
A selector is an HTML tag at which a style will be
applied.
This could be any tag like <h1> or <table> etc.
12
CSS SYNTAX
Property:
A property is a type of attribute of HTML tag.
Put simply, all the HTML attributes are converted into
CSS properties.
They could be color, border, etc.
Value:
Values are assigned to properties.
For example, color property can have the value either
red or #F1F1F1 etc.
13
CSS SYNTAX
You can put CSS Style Rule Syntax as follows:
selector { property: value }
Example: You can define a table border as follows:
table{ border :1px solid #C00; }
14
CSS SYNTAX
Here table is a selector and border is a property
and the given value 1px solid #C00 is the value of
that property.
You can define selectors in various simple ways
based on your comfort.
Let us put these selectors one by one.
15
The Type Selectors
This is the same selector we have seen above.
Again, one more example to give a color to all
level 1 headings:
h1 {
color: #36CFFF;
}
16
The Universal Selectors
Rather than selecting elements of a specific type,
the universal selector quite simply matches the
name of any element type:
*{
color: #000000;
}
This rule renders the content of every element in
our document in black.
17
The Descendant Selectors
Suppose you want to apply a style rule to a
particular element only when it lies inside a
particular element.
As given in the following example, the style rule
will apply to <em> element only when it lies
inside the <ul> tag.
ul em {
color: #000000;
}
18
The Class Selectors
You can define style rules based on the class
attribute of the elements.
All the elements having that class will be
formatted according to the defined rule.
.black {
color: #000000;
}
This rule renders the content in black for every
element with class attribute set to black in our
document.
19
The Class Selectors
You can make it a bit more particular.
For example:
[Link] {
color: #000000;
}
This rule renders the content in black for only
<h1> elements with class attribute set to black
20
The Class Selectors
You can apply more than one class selectors to a
given element.
Consider the following example:
<p class="center bold">
This para will be styled by the classes center and
bold.
</p>
21
The ID Selectors
You can define style rules based on the id
attribute of the elements.
All the elements having that id will be formatted
according to the defined rule.
#black {
color: #000000;
}
This rule renders the content in black for every
element with id attribute set to black in our
document.
22
The ID Selectors
You can make it a bit more particular. For
example:
h1#black {
color: #000000;
}
This rule renders the content in black for only
<h1> elements with id attribute set to black.
23
The ID Selectors
The true power of id selectors is when they are
used as the foundation for descendant selectors.
For example:
#black h2 {
color: #000000;
}
In this example, all level 2 headings will be
displayed in black color when those headings will
lie within tags having id attribute set to black.
24
The Child Selectors
You have seen the descendant selectors.
There is one more type of selector, which is very
similar to descendants but have different
functionality.
Consider the following example:
body > p {
color: #000000;
}
25
The Child Selectors
This rule will render all the paragraphs in black if
they are a direct child of the <body> element.
Other paragraphs put inside other elements like
<div> or <td> would not have any effect of this
rule.
26
nth-child() Selectors
In CSS, the :nth-child() selector is used to style specific
rows or columns (or any elements) based on their position
within their parent.
Example
table tr:nth-child(even) {
background-color: #f2f2f2;
}
table tr:nth-child(odd) {
background-color: #ffffff;
}
This will make even rows light gray and odd rows white.
27
The Attribute Selectors
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;
}
28
The Attribute Selectors
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.
29
The Attribute Selectors
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-".
30
Multiple Style Rules
You may need to define multiple style rules for a single
element.
You can define these rules to combine multiple properties
and corresponding values into a single block as defined in the
following example:
h1 {
color: #36C;
font-weight: normal;
letter-spacing: .4em;
margin-bottom: 1em;
text-transform: lowercase;
}
31
Multiple Style Rules
Here all the property and value pairs are
separated by a semicolon (;).
You can keep them in a single line or multiple
lines.
For better readability, we keep them in separate
lines.
For a while, don't bother about the properties
mentioned in the above block.
32
Grouping Selectors
You can apply a style to many selectors if you like.
Just separate the selectors with a comma, as given in
the following example:
h1, h2, h3 {
color: #36C;
font-weight: normal;
letter-spacing: .4em;
margin-bottom: 1em;
text-transform: lowercase;
}
33
Grouping Selectors
This define style rule will be applicable to h1, h2
and h3 element as well.
The order of the list is irrelevant.
All the elements in the selector will have the
corresponding declarations applied to them.
34
Grouping Selectors
You can combine the various class selectors
together as shown below:
#content, #footer, #supplement {
position: absolute;
left: 510px;
width: 200px;
}