Module - 1 (Contd.,) : of Web Development and of Web Development and
Module - 1 (Contd.,) : of Web Development and of Web Development and
Module -1 (contd.,)
3 Location of
Styles 4 Selectors
5 The Cascade:
How Styles 6 The Box Model
Interact
WHAT IS CSS?
Randy Connolly and Ricardo Hoar Fundamentals of Web Development
What is CSS?
You be styling soon
rule_list
</style>
<head lang="en">
CSS SYNTAX
Randy Connolly and Ricardo Hoar Fundamentals of Web Development
CSS Syntax
Rules, properties, values, declarations
syntax
selector { property: value; property2: value2; } rule
declaration block
selector
em { color: red; }
em { color: red; }
syntax
thinking of selectors is selector { property: value; property2: value2; } rule
em { color: red; }
selector { property: value; property2: value2; } rule
selector
em { color: red; }
LOCATION OF STYLES
Randy Connolly and Ricardo Hoar Fundamentals of Web Development
Actually there are three …
Different types of style sheet
SELECTORS
Randy Connolly and Ricardo Hoar Fundamentals of Web Development
Selectors
Things that make your life easier
When defining CSS rules, you will first need to use a selector to
tell the browser which elements will be affected.
CSS selectors allow you to select
•Individual elements
•Multiple HTML elements,
•Elements that belong together in some way, or
•Elements that are positioned in specific ways in the
document hierarchy.
There are a number of different selector types.
declaration
declaration block
selector
em { color: red; }
property value
p {
margin: 5px 0 10px 0;
font-weight: bold;
font-family: Arial, Helvetica, sans-serif;
}
<div>
<p class="first">By Susan on <time>October 1, 2012</time></p>
<p>I love Central Park.</p>
</div>
<hr/>
</body>
.first {
font-style: italic;
color: brown;
}
• You can also specify that only specific HTML elements should be
affected by a class. In the example below, only <p> elements with
class="center" will be center-aligned:
p.center {text-align: center;}
• HTML elements can also refer to more than one class. In the
example below, the <p> element will be styled according to
class="center" and to class="large":
http://www.w3schools.com/css/css_syntax.asp
Randy Connolly and Ricardo Hoar Fundamentals of Web Development
Id Selectors
Target a specific element by its id attribute
<div>
<p>By Susan on <time>October 1, 2012</time></p>
<p>I love Central Park.</p>
</div>
<hr/>
</body>
#latestComment {
font-style: italic;
color: brown;
}
<div>
#main div p:first-child { <p>By Susan on <time>October 1, 2012</time></p>
color: green; <p>I love Central Park.</p>
} </div>
<hr/>
</div>
<footer>
<ul>
<li><a href="#">Home</a> | </li>
<li><a href="#">Browse</a> | </li>
</ul>
</footer>
</body>
Because
• There are three different types of style sheets
(author-created, user-defined, and the default
browser style sheet),
• Author-created stylesheets can define multiple rules
for the same HTML element,
CSS has a system to help the browser determine how
to display elements when different style rules conflict.
<meta> <title> <h1> <h2> <p> <img> <h3> <div> <div> <p>
<time> <time>
<h3>Reviews</h3>
<div>
<p>By Ricardo on <time>September 15, 2012</time></p>
<p>Easy on the HDR buddy.</p>
</div>
<hr/>
<div>
<p>By Susan on <time>October 1, 2012</time></p>
<p>I love Central Park.</p>
</div>
<hr/>
<meta> <title> <h1> <h2> <p> <img> <h3> <div> <div> <p>
<time> <time>
1 div form {
descendant selector overrides color: orange; 0002
}
(elements only)
2
class and attribute .example {
overrides color: blue; 0010
selectors }
3
#firstExample {
id selector overrides
color: magenta; 0100
}
4
overrides id + div #firstExample {
additional color: grey; 0101
}
selectors
A higher specificity value
overrides lower specificity
values
inline style 5
overrides <div style="color: red;"> 1000
attribute
user-styles.css #example {
1 color: green;
overrides }
2 <head>
overrides <link rel="stylesheet" href="stylesA.css" /> 3
<link rel="stylesheet" href="stylesWW.css" /> overrides
4 <style>
overrides
#example {
color: orange; 5 #example {
overrides color: blue;
color: magenta; }
}
</style>
</head>
<body> 6 overrides
<p id="example" style="color: red;">
sample text
</p>
</body>
Can you guess what will be the color of the sample text ?
Browser’s
default style
settings
user-styles.css #example {
1 color: green;
overrides }
2 <head>
overrides <link rel="stylesheet" href="stylesA.css" /> 3
<link rel="stylesheet" href="stylesWW.css" /> overrides
4 <style>
overrides
#example {
color: orange; 5 #example {
overrides color: blue;
color: magenta; }
}
</style>
</head>
<body> 6 overrides
<p id="example" style="color: red;">
sample text
</p>
</body>
background-attachment Specifies whether the background image scrolls with the document (default) or
remains fixed. Possible values are: fixed, scroll.
background-image Specifies the background image (which is generally a jpeg, gif, or png file) for
the element. Note that the URL is relative to the CSS file and not the HTML.
CSS3 introduced the ability to specify multiple background images.
background-position Specifies where on the element the background image will be placed. Some
possible values include: bottom, center, left, and right. You can also supply a
pixel or percentage numeric position value as well. When supplying a numeric
value, you must supply a horizontal/vertical pair; this value indicates its
distance from the top left corner of the element.
background-repeat Determines whether the background image will be repeated. This is a common
technique for creating a tiled background (it is in fact the default behavior).
Possible values are: repeat, repeat-x, repeat-y, and no-repeat.
background-size New to CSS3, this property lets you modify the size of the background image.
background-image: url(../images/backgrounds/body-background-tile.gif);
background-repeat: repeat;
300px
body {
background: white url(../images/backgrounds/body-background-tile.gif) no-repeat;
background-position: 300px 50px;
}
border-style Specifies the line type of the border. Possible values are: solid,
dotted, dashed, double, groove, ridge, inset, and outset.
border-width The width of the border in a unit (but not percents). A variety of
keywords (thin, medium, etc) are also supported.
border-color: red green orange blue; /* sets all four sides differently */
When using this multiple values shortcut, they are applied in clockwise order starting at the top.
Thus the order is: top right bottom left.
TRBL (Trouble)
top
border-color: top right bottom left;
left right
border-color: red green orange blue;
bottom
p {
border: solid 1pt red;
margin: 30px;
padding: 0;
}
p {
border: solid 1pt red;
margin: 30px;
padding: 30px;
}
Since the width and the height refer to the size of the
content area, by default, the total size of an element is
equal to not only its content area, but also to the sum
of its padding, borders, and margins.
div {
...
box-sizing: border-box; True element width = 10 + 200 + 10 = 220 px
}
True element height = 10 + 100 + 10 = 120 px
p {
background-color: silver;
}
} 100px
p {
background-color: silver;
width: 200px;
height: 100px;
}
overflow: hidden;
overflow: scroll;
overflow: auto;
<body>
.parentFixed { <div class="parentFixed">
width:400px; <strong>parent has fixed size</strong>
height:150px; <div class="percent">
background: beige; PERCENT - 50% of width and height
} </div>
50% of parent (= 200px)
.parentRelative { </div>
width:50%; <div class="parentRelative">
height:50%; <strong>parent has relative size</strong>
background: yellow; <div class="percent">
} PERCENT - 50% of width and height
</style> </div>
</div>
50% 50% </body>
50% of parent
50% 50%
TEXT STYLING
Randy Connolly and Ricardo Hoar Fundamentals of Web Development
Text Properties
Two basic types
Th
Name
This sans-serif
Without
("sans") serif Th
This This
In a regular,
This
In a monospace font, proportionally-spaced
monospace each letter has the font, each letter has a
same width variable width
This cursive
Over the past few years, the most recent browser versions
have begun to support the @font-face selector in CSS.
This selector allows you to use a font on your site even if it
is not installed on the end user’s computer.
Due to the on-going popularity of open source font sites
such as Google Web Fonts
(http://www.google.com/webfonts) and Font Squirrel
(http://www.fontsquirrel.com/), @font-face seems to have
gained a critical mass of widespread usage.
3 Location of
Styles 4 Selectors
5 The Cascade:
How Styles 6 The Box Model
Interact