0% found this document useful (0 votes)
5 views43 pages

2.3-css

The document provides an overview of Cascading Style Sheets (CSS), detailing its purpose in defining the appearance and layout of web pages. It covers basic CSS syntax, properties for colors, fonts, and text, as well as methods for embedding and linking CSS files. Additionally, it discusses the importance of CSS validation and the cascading nature of style precedence.

Uploaded by

devineodhiambo89
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
5 views43 pages

2.3-css

The document provides an overview of Cascading Style Sheets (CSS), detailing its purpose in defining the appearance and layout of web pages. It covers basic CSS syntax, properties for colors, fonts, and text, as well as methods for embedding and linking CSS files. Additionally, it discusses the importance of CSS validation and the cascading nature of style precedence.

Uploaded by

devineodhiambo89
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 43

CASCADING STYLE SHEETS

(CSS)
Overview
2

¨ Basic CSS
¨ CSS Properties
¨ More CSS Syntax
3 Basic CSS
The good, the bad and the… ugly!
4

<p>
<font face="Arial">Shashdot.</font>
News for <b>nerds!!</b> You will <i>never</i>, <u>EVER</u>
be
<font size="+4" color="red">BORED</font> here!
</p> HTML  

Slashdot.  News  for  nerds!!  You  will  never,  EVER  be  BORED  
here!            
                                                                                         output  

¨ Tags such as b, i, u, and font are discouraged in


strict XHTML
¨ Why is this bad?
Cascading Style Sheets (CSS)
5

¨ Describes the appearance, layout, and


presentation of information on a web page
¤ HTML describes the content of the page
¨ Describes how information is to be displayed, not
what is being displayed
¨ Can be embedded in HTML document or placed
into separate .css file
Basic CSS rule syntax
6

selector {
property: value;
property: value;
...
property: value;
} CSS  

p {
font-family: sans-serif;
color: red;
} CSS  

¨ A CSS file consists of one or more rules


¨ Each rule starts with a selector
¨ A selector specifies an HTML element(s) and then applies style
properties to them
¤ a selector of * selects all elements
Aside: Favorites icon ("favicon")
7

<link href="filename" type="MIME type" rel="shortcut


icon" />
HTML  
<link href="yahoo.gif" type="image/gif" rel="shortcut
icon" />
HTML  

¨ The link tag, placed in the HTML page's head section, can
specify an icon
¤ this icon will be placed in the browser title bar and bookmark/favorite
Attaching a CSS file <link>
8

<head>
...
<link href="filename" type="text/css" rel="stylesheet" />
...
</head> HTML  

<link href="style.css" type="text/css" rel="stylesheet" />


<link href="http://www.google.com/uds/css/gsearch.css"
rel="stylesheet" type="text/css" />
HTML  

¨ A page can link to multiple style sheet files


¤ In case of a conflict (two sheets define a style for the same HTML
element), the latter sheet's properties will be used
Embedding style sheets: <style>
9

<head>
<style type="text/css">
p { font-family: sans-serif; color: red; }
h2 { background-color: yellow; }
</style>
</head>
HTML  

¨ CSS code can be embedded within the head of an HTML page


¨ Bad style and should be avoided when possible (why?)
Inline styles: the style attribute
10

<p style="font-family: sans-serif; color: red;">


This is a paragraph</p>

HTML  

This is a paragraph

output  

¨ Higher precedence than embedded or linked styles


¨ Used for one-time overrides and styling a particular element
¨ Bad style and should be avoided when possible (why?)
Cascading Style Sheets
11

¨ Properties of an element cascade together in this


order (precedence):
¤ browser's default styles
¤ external style sheet files (in a <link> tag)
¤ embedded/internal style sheets (inside a <style> tag
in the page's header)
¤ inline style (the style attribute of the HTML element)
W3C CSS Validator
12

<p>
<a href="http://jigsaw.w3.org/css-validator/check/
referer">
<img src="http://jigsaw.w3.org/css-validator/images/vcss"
alt="Valid CSS!" /></a>
</p> CSS  

output

¨ jigsaw.w3.org/css-validator/
¨ checks your CSS to make sure it meets the official CSS
specifications
13 CSS Properties
CSS properties for colors
14

p {
color: red;
background-color: yellow;
}
CSS  

This paragraph uses the style above output  

property description
color color of the element's text
color that will appear behind the
background-color
element
Specifying colors
15

p { color: red; }
h2 { color: rgb(128, 0, 196); }
h4 { color: #FF8800; }
CSS  

This paragraph uses the first style above

This h2 uses the second style above.

This h4 uses the third style above.


output  

¨ color names: aqua, black, blue, fuchsia, gray, green, lime, maroon,
navy, olive, purple, red, silver, teal, white (white), yellow
¨ RGB codes: red, green, and blue values from 0 (none) to 255 (full)
¨ hex codes: RGB values in base-16 from 00 (0, none) to FF (255, full)
Grouping styles
16

p, h1, h2 {
color: green;
}
h2 {
background-color: yellow;
} CSS  

This paragraph uses the above style.


This h2 uses the above styles.
 
                         output  

¨ A style can select multiple elements separated by commas


¨ The individual elements can also have their own styles
CSS comments /*…*/
17

/* This is a comment.
It can span many lines in the CSS file. */
p {
color: red; background-color: aqua;
} CSS  

¨ CSS (like HTML) is usually not commented as rigorously as


programming languages such as Java
¨ The // single-line comment style is NOT supported in CSS
¨ The <!-- ... --> HTML comment style is also NOT supported in
CSS
CSS properties for fonts
18

property description
font-family which font will be used
font-size how large the letters will be drawn
font-style used to enable/disable italic style
font-weight used to enable/disable bold style

Complete list of font properties (http://www.w3schools.com/css/css_font.asp)


font-family
19

p {
font-family: Georgia;
}
h2 {
font-family: "Courier New";
} CSS  

This paragraph uses the first style above.

This h2 uses the second style above.


                         output  

¨ Enclose multi-word font names in quotes


More about font-family
20

p {
font-family: Garamond, "Times New Roman", serif;
} CSS  

This paragraph uses the above style.          


                                                 output  

¨ We can specify multiple fonts from highest to lowest priority


¨ Generic font names:
¤ serif, sans-serif, cursive, fantasy, monospace

¨ If the first font is not found on the user's computer, the


next is tried
¨ Placing a generic font name at the end of your font-family
value, ensures that every computer will use a valid font
font-size
21

p {
font-size: 24pt;
} CSS  

This paragraph uses the style above.        


                                                     output  
¨ units: pixels (px) vs. point (pt) vs. m-size (em)
16px, 16pt, 1.16em

¨ vague font sizes: xx-small , x-small , small , medium, large, x-large, xx-large,
smaller, larger
¨ percentage font sizes, e.g.: 90%, 120%
font-size
22

p {
font-size: 24pt;
} CSS  

This paragraph uses the style above.        


                                                     output  
¨ pt specifies a number of points, where a point is 1/72 of an
inch onscreen
¨ px specifies a number of pixels on the screen
¨ em specifies number of m-widths, where 1 em is equal to the
font's current size
font-weight, font-style
23

p {
font-weight: bold;
font-style: italic;
} CSS  

This paragraph uses the style above.        


                                                     output  

¨ Either of the above can be set to normal to turn them off


CSS properties for text
24

property description
text-align alignment of text within its element
text-decoration decorations such as underlining
line-height,
gaps between the various portions of
word-spacing,
the text
letter-spacing
indents the first letter of each
text-indent
paragraph

Complete list of text properties (http://www.w3schools.com/css/css_text.asp)


text-align
25

blockquote { text-align: justify; }


h2 { text-align: center; }
CSS  

The Gollum’s Quote

We wants it, we needs it. Must have the precious. They stole it from us.
S n e a k y l i t t l e h o b b i t s e s . Wi c k e d , t r i c k s y, f a l s e !
                               
                               output  
¨ text-align can be left, right, center, or
justify
text-decoration
26

p {
text-decoration: underline;
} CSS  

This paragraph uses the style above.        


                                                               output  

¨ can also be overline, line-through, blink, or


none
¨ effects can be combined:

text-decoration: overline underline;


The list-style-type property
27

ol { list-style-type: lower-roman; }
CSS  

¨ Possible values:
i. none : No marker
ii. disc (default), circle, square
iii. Decimal: 1, 2, 3, etc.
iv. decimal-leading-zero: 01, 02, 03, etc.
v. lower-roman: i, ii, iii, iv, v, etc.
vi. upper-roman: I, II, III, IV, V, etc.
vii. lower-alpha: a, b, c, d, e, etc.
viii. upper-alpha: A, B, C, D, E, etc.
x. lower-greek: alpha, beta, gamma, etc.
others: hebrew, armenian, georgian, cjk-ideographic, hiragana…
Body styles
28

body {
font-size: 16px;
}
CSS  

¨ Applies a style to the entire body of your page


¨ Saves you from manually applying a style to each element
Inheriting styles
29

body { font-family: sans-serif; background-color:


yellow; }
p { color: red; background-color: aqua; }
a { text-decoration: underline; }
h2 { font-weight: bold; text-align: center; }
CSS  

This is a heading
A styled paragraph. Previous slides are available on the website.

• A bulleted list output  

¨ when multiple styles apply to an element, they are inherited


¨ a more tightly matching rule can override a more general
inherited rule
Styles that conflict
30

p, h1, h2 { color: blue; font-style: italic; }


h2 { color: red; background-color: yellow; }
CSS  

This paragraph uses the first style above.


This heading uses both styles above.
output

¨ when two styles set conflicting values for the same property,
the latter style takes precedence
CSS properties for backgrounds
31

property description
background-color color to fill background
background-image image to place in background
background-position placement of bg image within element
whether/how bg image should be
background-repeat
repeated
background-attachment whether bg image scrolls with page
shorthand to set all background
background
properties
background-image
32

body {
background-image: url("images/draft.jpg");
}
CSS  

¨ background image/color fills the element's content area


background-repeat
33

body {
background-image: url("images/draft.jpg");
background-repeat: repeat-x;
}
CSS  

¨ can be repeat (default), repeat-x, repeat-y, or no-repeat


background-position
34

body {
background-image: url("images/draft.jpg");
background-repeat: no-repeat;
background-position: 370px 20px;
} CSS  

¨ value consists of two tokens, each of which can be top, left,


right, bottom, center, a percentage, or a length value in px, pt,
etc.
¨ value can be negative to shift left/up by a given amount
35 More CSS Syntax
XHTML id attribute
36

<p>Coding Horror! Coding Horror!</p>


<p id="mission">Our mission is to combine programming and
<q>human</q> factors with geekiness!</p>
HTML  

Coding Horror! Coding Horror!

Our mission is to combine programming and “human” factors with geekiness!


                                                 output  

¨ A unique ID for an element on a page


¨ Each ID must be unique; can only be used once in the page
Linking to sections of a web page
37

<p>Visit <a href=


"http://www.textpad.com/download/index.html#downloads">
textpad.com</a> to get the TextPad editor.</p>
<p><a href="#mission">View our Mission Statement</a></p>
HTML  

Visit textpad.com to get the TextPad editor.

View our Mission Statement                      


                                               output  

¨ Link target can include an ID at the end, preceded by a #


¨ Browser will load that page and scroll to element with given ID
CSS ID selectors
38

#mission {
font-style: italic;
font-family: "Garamond", "Century Gothic", serif;
} CSS  

Coding Horror! Coding Horror!

Our mission is to combine programming and “human” factors with geekiness!


                                                 output  

¨ Applies style only to the paragraph that has the ID “mission”


HTML class attribute
39

<p class="shout">Coding Horror! Coding Horror!</p>


<p class="special">See our special deal on Droids!</p>

<p class="special">Today only!</p> HTML  

Coding Horror! Coding Horror!

See our special deal on Droids!

Today only!                                              output  

¨ A way to group some elements and give a style to only that


group
¨ Unlike an id, a class can be reused as much as you like
on the page
CSS class selectors
40

.special { /* any element with class="special" */


background-color: yellow;
font-weight: bold;
}
p.shout { /* only p elements with class="shout" */
color: red;
font-family: cursive;
}                                                                                          CSS  

Coding Horror! Coding Horror!


See our special deal on Droids!

Today only!
                                             output  
CSS class selectors
41

<p class="shout">Coding Horror! Coding Horror!</p>


<p class="special">See our special deal on Droids!</p>

<p class="special shout">Today only!</p> HTML  

Coding Horror! Coding Horror!


See our special deal on Droids!

Today only!
                                             output  
CSS pseudo-classes
42

a:link { color: #FF0000; } /* unvisited link */


a:visited { color: #00FF00; } /* visited link */
a:hover { color: #FF00FF; } /* mouse over link */
CSS  

Buy Early Buy Often!


                                 output  
CSS pseudo-classes
43

class description
:active an activated or selected element
:focus an element that has the keyboard focus
:hover an element that has the mouse over it
:link a link that has not been visited
:visited a link that has already been visited
:first-letter the first letter of text inside an element
:first-line the first line of text inside an element
an element that is the first one to appear inside
:first-child
another

You might also like