Download presentation
Presentation is loading. Please wait.
Published byJoleen Robinson Modified over 9 years ago
1
1 CSS: Cascading Style Sheets W3Schools CSS tutorialCSS tutorial
2
2 What are Style Sheets A style sheet is a mechanism that allows to specify how HTML (/XHTML/XML) pages should look The style is specified by style rules The style rules appear either in the document or in external files, called style sheets
3
3 Style Sheets Usually, a file that ends with.css For example: - i.a.cnn.net/cnn/.element/ssi/css/1.1/main.css (CNN) - http://www.huji.ac.il/styles/style.css (HUJI) To attach a style sheet to an HTML file, add to the head You can link to more than one css file
4
4 Without a style sheet
5
5 Simple Example – without css A Joke A joke A mama tomato, a papa tomato and a baby tomato are walking down the street. The baby tomato keeps falling behind so the papa tomato goes back, steps on the baby tomato and says, ketchup ("Catch-up!"). div defines a division/section in a document. Using div you to group block elements and give them an equal style
6
6
7
7 Style File: joke.css body { background-image: url("bg.gif"); } h1 { background-color: green; color: rgb(250, 200, 250); /* pink */ font-family: cursive } p { background-color: yellow; color: purple; font-size: 200%;}
8
8 Simple Example - with css A Joke A joke A mama tomato, a papa tomato and a baby tomato are walking down the street. The baby tomato keeps falling behind so the papa tomato goes back, steps on the baby tomato and says, ketchup ("Catch-up!"). Open joke.html, joke_css.html
9
9
10
10 Why do we Need a Style Sheet? In XHTML (or HTML 4.01), styling is very limited, hence style sheets are necessary -Transitional versions are richer in style Separates content from style Reduces download time (how?) Allows to easily maintain a consistent appearance over a whole Web site (how?)
11
11 Style Rules h1 { color: purple; font-family: Impact, Arial Black; font-size-adjust:.46; font-size: 2.33em; font-weight:400; font-style:normal; text-decoration: none; word-spacing:normal !important; letter-spacing:normal; text-transform: none; } Declaration Property Value(s) Selector “ important ” rule
12
12 Style Rules (cont) A rule has the following form selector {declaration block} The selector determines when the rule is applied For example, the following rule applies to text that is inside a tag p {color: green; font-size: 1.5em; font-style: italic} em is the current font-size of the current element
13
13 What Kind of Properties can a CSS Style Sheet Change? Style properties Layout properties There are many properties and many possible values -We will not cover all of them here -Look in the Web !!!
14
14 Style Properties
15
15 Our Examples We use the following HTML example: This is our example for css. The tag is used to group inline elements for formatting with styles -Extremely useful tag...
16
16 Font Properties Font properties: family, size, weight, style, variant,... span { font-family: courier; font-size: 130%; font-style: italic; font-weight: bold} Enable to transform letters into small-caps
17
17 Text Properties Text properties: color, transform, decoration, … span { color: #00cc00; text-decoration: line-through; text-transform: uppercase} Transforms the letters’ case (upper / lower / capital)
18
18 Background Properties Background properties: background-color, background-image, … span {background-color: #00ff00} span {background-image: url('bg.gif');}
19
19 Layout Properties
20
20 Page Layout Each HTML element defines a layer (rectangular box) that is placed in some location on the page Layers are nested with correspondence to the nesting of their elements
21
21 Inline vs. Block Elements There are two type of elements: Block elements: p, ol, table, div, h1, etc. Inline elements: b, i, a, span, cite, etc. Layers of block elements are separated from their adjacent elements (i.e., a new line before and after), while inline elements are not You can turn a block into an inline and vice-versa, using the display property, e.g., h1 { display: inline }
22
22 Positioning Elements Using CSS, you can define the position of an element inside its parent layer For that, use the properties position, left, right, top and bottom span { position:relative; left: 1cm; top: 1cm; color: #00cc00;} distance from left distance from top
23
23 Position Types But 1cm left to what?? For that, we have the position property Four position types: - fixed : relative to the window coordinates - absolute : relative to the parent layer coordinates - relative : relative to the static position - static : the default position
24
24 Position Examples span { position:absolute; left: 1cm; top: 1cm; color: #00cc00;} span { position:fixed; left: 1cm; top: 1cm; color: #00cc00;}
25
25 Position Examples span { position:static; left: 1cm; top: 1cm; color: #00cc00;} Totally Ignored! This is the default position type Open joke1.html
26
26 More Layout Properties Layer properties - margin-top (-bottom, -left, -right) - padding-top (-bottom, -left, -right) - border-width (-color, -style, … ) Text Layout - direction, word-spacing, white-space, letter- spacing, text-align, text-indent, … The space around elements. Could be negative The space between the element borders and the element content.
27
27 Length Units CSS has several types of length units: - em, ex : height of current fonts (ex is the x-height) - px, in, cm, mm, pt, pc : international units - % : ratio of parent’s respective dimension A page should remain a proper layout when windows (and even fonts) resize -Hence, do not assume anything about default sizes
28
28 Selector Types
29
29 Several Kinds of Selectors Type Selectors Class Selectors ID Selectors Attribute Selectors Universal Selector Child Selectors Adjacent-Sibling Selectors Descendant Selectors Pseudo-Class Selectors Pseudo-Element Selectors Not supported by IE 5, 5.5 and 6
30
30 Type Selector A type selector is the name of an element type A type selector matches every instance of the element type LI {color: red; font-size: 16px} Matches: An item Another item
31
31 Class Selector A class selector is a selector of the form x.y It matches x s that have the class attribute with value y LI.reditem {color: red} Matches: An item Another item.reditem { color: red} will also work!
32
32 ID Selectors IDs are identical to classes, except that there can only be one element with a given ID in a document LI#23 {color: red} Matches: An item Another item #23 { color: red} will also work! That is, ID is unique per an element
33
33 Attribute Selectors p[title] -matches p when title is set to any value p[title=intro] or p[title="intro"] (the quotes are optional) -matches p when its title attribute is set to “ intro ” p[class~=green] -matches p when the class attribute value includes the word “ green ”
34
34 Universal Selector The universal selector matches every element The following rule means that all the text will have a size of 40px * {font-size: 40px }
35
35 Descendant Selector A descendant selector has the form S 1 S 2 where S 1 and S 2 are selectors It matches all elements that -match S 2, and - are descendants (nested in) elements that match S 1
36
36 An Example.href em {color: blue} Matches: This is not blue. This is blue and so is this. What will this match? p em {color: blue} emphasized text
37
37 Pseudo-Classes Pseudo class selectors are similar to class selectors, but they match states rather than class values -For example, a link can be in the states: visited, active, mouse-over (“hover”), etc. -Another example: a text-area can be focused
38
38 Examples of Rules for Pseudo-Classes A:link {color: blue} A:visited {color: purple} A:hover {font-size: 1.5em} A:active {color: red} INPUT:focus {background-color: yellow} e.g. when typing a text into a text typed input
39
39 Grouping Selectors We can group several declarations by specifying several selectors, separated by commas For example, the following rule applies to all elements that match either H1, P B, or H2[class=largehead] P B, H1, H2.largehead {font-size: 120%}
40
40 Inserting Style to a Page
41
41 Inline Styles In an inline style, the declaration block appear as the value of the attribute style of the element Almost every tag can have the style attribute -exceptional: base, head, html, meta, param, script, style and title This text will be shown in italic green and the size will be 1.5 times the current font size
42
42 Document-Level Style body {color: red; background: skyblue;} h1 { color: blue }...
43
43 Imported Style Sheets The @import rule imports the style rules of another style sheet Usage: @import url(file.css) Several import rules may appear at the beginning of the style sheet Import rules can appear in embedded style sheets or in external style sheets
44
44 Imported Style Sheets Why do we need the import command? @import url(general.css); body { color: red; background:skyblue } h1 { color: blue } An Example: Using @import one can create style-sheets which are based on others…
45
45 Inheritance and Cascading
46
46 Inheritance of Properties Consider a property of an element that does not match any rule For some properties (inherited properties), the computed value of this property is inherited from the parent of the element For example, color, font and word-spacing are inherited Yet border, margin and padding are not! Number of white spaces between words
47
47 An Example Given the rules: - body { font-size: 10pt } - h1 { font-size: 120% } What will be the font size of the element? A large heading Computed Value: 12pt
48
48 Cascading of Styles CSS merges style rules from different places (inline, document-level, linked and defaults) Different places may have conflicting style rules -conflicts may even arise in a single source The process of merging (cascading) styles from different places determines which style rules have higher priority
49
49 Determining Property Values Suppose that we would like to determine the value of property p for element e Choose all declarations that have a selector that matches e and have the property p “Sort” all declarations according to cascading order Choose the first declaration in the cascading order, and apply the corresponding rule
50
50 Cascading Order The cascading order of declarations: 1.Primary sort: importance of origin 2.Secondary sort: specificity of selectors 3.Final sort: order of appearance
51
51 Importance of Origin There are two rule origins: author and browser (either defaults or user customizations) browser !important rules author !important rules author rules browser rules strongest weakest For example, you can add stylesheets to IE browser this way: Tools internet options Accessibility User style sheet. Of course you can add this way !important browser rules too…
52
52 Specificity of Selectors is rule in style attribute? number of ID attributes number of attributes and pseudo-classes number of element names strongest weakest
53
53 An Example Consider the following rules: - li {…} - #x34y {…} - ul ol li.red {…} Which is the most specific? li.red is a descendent of ol, which is a descendant of ul
54
54 Order of Appearance If two rules have the same origin importance and specificity, then the one that appears last in the style sheet overrides the others Rules in imported style sheets (@import) are considered to appear before local rules
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.