Unit 02 CSS
Unit 02 CSS
UNIT 2
CASCADING STYLE SHEETS (CSS)
Getting Started With CSS
Learning objectives:
After the Completion of this unit you should be able to know
What a style sheet is and how it actually styles a web page
The importance of CSS.
How to create a style sheet and link an html document to the style sheet.
The basic building blocks of any style sheet: rules, selectors, properties
and values.
How External Style Sheets are stored in CSS files
Three ways of inserting a style sheet
Different selectors using CSS
Define background properties ,Background colour & images handling
Font family, Style and Size using CSS
Designing Tables using CSS
Structure
Definition
Advantages
The cascade part of CSS means that more than one style sheet can be
attached to a document, and all of them can influence the presentation. For
example, a designer can have a global style sheet for the whole site, but a local
one for say, controlling the link color and background of a specific page. Or, a
user can use own style sheet if s/he has problems seeing the page, or if s/he just
prefers a certain look.
1
CSS Syntax
Selector {property:
2
Parts of style sheet
A style sheet consists of one or more rules that describe how
document elements should be displayed. A rule in CSS has two parts: the
selector and the declaration. The declaration also has two parts, the
property and the value. Let's take a look at a rule for a heading 1 style: h1
{ font-family: verdana, "sans serif"; font-size: 1.3em } This expression is a
rule that says every h1 tag will be verdana or other sans-serif font and the
fontsize will be 1.3em. Let's take a look at the different parts of this rule.
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
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
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;
}
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;
}
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 :
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.
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-".
5
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.
6
<p style="color:sienna;margin-left:20px">This is a
paragraph.</p>
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.
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(/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(/images/pattern1.gif); background-repeat:
repeat-y;">
<tr><td>
This table has background image set which will repeat vertically. </td></tr>
</table>
The following example demonstrates how to repeat the background image
horizontally.
<table style="background-image:url(/images/pattern1.gif); background-repeat:
repeat-x;">
<tr><td>
This table has background image set which will repeat horizontally. </td></tr>
</table>
Set the Background Image Position
The following example demonstrates how to set the background image position
100 pixels away from the left side.
<table style="background-image:url(/images/pattern1.gif);
background-position:100px;">
<tr><td>
Background image positioned 100 pixels away from the left.
</td></tr>
</table>
8
Check your progress 3
Q1. How many ways to build style sheet ? what are they ?
Answer:
Answer:
body {background-color:#b0c4de;}
<p style="background-color:yellow;">
This text has a yellow background color. </p>
9
CSS Colors - Hex Codes
A hexadecimal is a 6 digit representation of a color. The first two digits
(RR) represent a red value, the next two are a green value (GG), and the last are
the blue value (BB). Each hexadecimal code will be preceded by a pound or hash
sign ‘#’. Following are the examples to use Hexadecimal notation.
10
CSS Colors - RGB Values
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.
The following example demonstrates how to set the space between words.
Possible values are normal or a number specifying space.
<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>
The following example demonstrates how to set the cases for a text.
Possible values are none, capitalize, uppercase, lowercase.
Example
:
13
The output of the above program is :
A font is the combination of typeface and other qualities, such as size, pitch,
and spacing. For example, Times Roman is a typeface that defines the shape
of each character. Within Times Roman, however, there are many fonts to
choose from -- different sizes, italic, bold, and so on.You can set the following
font properties of an element:
Following is the example, which demonstrates how to set the font family
of an element. Possible value could be any font family name.
14
<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>
15
Possible values could be normal, wider, narrower, ultra-condensed,
extra-condensed, condensed, semi-condensed, semi-expanded,
expanded, extra-expanded, ultra-expanded.
<p style="font-stretch:ultra-expanded;">
If this doesn't appear to work, it is likely that your computer
doesn't have a condensed or expanded version of the font being
used. </p>
Example:-
16
Managing hyperlinks using CSS
An element in an electronic document that links to another place in the same
document or to an entirely different document. A hyperlink, or simply a link, is a
reference to data that the reader can directly follow either by clicking, tapping, or
hovering. A hyperlink points to a whole document or to a specific element within
a document. Hypertext is text with hyperlinks. The text that is linked is called
anchor text. You can set the following properties of a hyperlink:
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>
The following example demonstrates how to set the color of the visited
links. Possible values could be any color name in any valid format.
<style type="text/css">
a:visited {color: #006600}
</style>
<a href="/html/index.htm">Click this link</a>
17
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>
18
➢ The marker-offset specifies the distance between a marker and the text in
the list.
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:
Here is an example:
19
The output of the above program is :
Value Description
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>
21
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>
23
<style type="text/css">
table.one
{
border-collapse:separate; width:400px;
border-spacing:10px;
}
table.two
{
border-collapse:separate; width:400px;
border-spacing:10px 50px;
}
</style>
<table class="one" border="1">
<caption>Separate Border Example with border-spacing</caption>
<tr><td> Cell A Collapse Example</td></tr>
<tr><td> Cell B Collapse Example</td></tr>
</table><br />
<table class="two" border="1">
<caption>Separate Border Example with border-spacing</caption>
<tr><td> Cell A Separate Example</td></tr>
<tr><td> Cell B Separate Example</td></tr>
</table>
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>
Q2. What are the different values of ordered and unordered list in css ?
Answer:
25
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. Here is an
example:
26
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.
Here is an example:
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.
27
The output of the above program is
28
The output of the above program is
The border properties allow you to specify how the border of the box representing
an element should look. There are three properties of a border you can change:
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.
30
➢ 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:
31
Designing outline using CSS
Outlines are very similar to borders, but there are few major differences as well:
➢ An outline does not take up space.
➢ Outlines do not have to be rectangular.
➢ Outline is always the same on all sides; you cannot specify different values
for different sides of an element.
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. Here is
an example:
32
The above program will produce the following result:
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.
33
Here is an example:
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:
34
The above program will produce the following result:
35
➢ The margin specifies a shorthand property for setting the margin
properties in one declaration.
➢ The margin-bottom specifies the bottom margin of an element.
➢ The margin-top specifies the top margin of an element.
➢ The margin-left specifies the left margin of an element.
➢ The margin-right specifies the right margin of an element.
The margin property allows you to set all of the properties for the four
margins in one declaration. Here is the syntax to set margin around a paragraph:
<style type="text/css">
p {margin: 15px}
all four margins will be 15px
Here is an example:
36
The above program will produce the following result:
The margin-bottom property allows you to set the bottom margin of an element. It
can have a value in length, %, or auto.
Here is an example:
37
The margin-left Property
The margin-left property allows you to set the left margin of an element. It can
have a value in length, %, or auto. Here is an example:
38
Check your progress 6
Let us sum up
In this unit we have understood what is CSS, advantages of CSS,
Parts of CSS, CSS syntax, CSS selectors, ways to insert CSS, background
image handling, background colour management, text management,
font management, managing hyperlinks, managing lists, designing tables,
working with box model, designing borders, designing outline,
setting page margin
Reference
1. W3Schools.com
2. Google.com
3. Tutorialpoints.com
CSS stands for Cascading Style Sheets. It is a simple design language intended to
simplify the process of making web pages presentable.
39
Q2. Write the three parts of CSS syntax?
Answer
CSS style is made of three parts:
1. Selector: A selector is an HTML tag at which a style will be applied. This could
be any tag like <h1>, <p> or <table> etc.
2. 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,
bgcolor etc.
3. Value: Values are assigned to properties. For example, color property can have
the value either red or #F1F1F1 etc.
Answer
Answer
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
Q1. How many ways to build style sheet ?what are they ?
Answer
There are three ways of inserting a style sheet:
1. External style sheet
2. Internal style sheet
3. Inline style
40
Q2. Write the background properties of CSS
Answer
41
Check your progress 5
• The border-collapse specifies whether the browser should control the appearance of
the adjacent borders that touch each other or whether each cell should maintain its
style.
• The border-spacing specifies the width that should appear between table cells.
• The caption-side captions are presented in the <caption> element. By default, these
are rendered above the table in the document. You use the caption-side property to
control the placement of the table caption.
• The empty-cells specify whether the border should be shown if a cell is empty.
• The table-layout allows browsers to speed up the layout of a table by using the first
width properties it comes across for the rest of a column rather than having to load the
whole table before rendering it.
Q2. What are the different values of ordered and unordered list in CSS ?
Answer
disc (default),Circle,Square.
Decimal,decimal-leading-zero,lower-alpha,upper-alpha,lower-roman,upper-roman.
Answer
Properties of dimensions of a box.
42
Q2. Write the three properties of border.
Answer
There are three properties of a border:
1. The margin specifies a shorthand property for setting the margin properties in
one declaration.
2. The margin-bottom specifies the bottom margin of an element.
3. The margin-top specifies the top margin of an element.
4. The margin-left specifies the left margin of an element.
5. The margin-right specifies the right margin of an element
Q5. Write the border-style property in CSS.
Answer
The border-style property :
➢ 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.
43