Cascading Style Sheets (CSS). DBI 2008 HUJI-CS 2 What are Style Sheets A style sheet is a mechanism that allows to specify how HTML (/XHTML/XML) pages.

Slides:



Advertisements
Similar presentations
CSS Cascading Style Sheets. Objectives Using Inline Styles Working with Selectors Using Embedded Styles Using an External Style Sheet Applying a Style.
Advertisements

Cascading Style Sheets. CSS stands for Cascading Style Sheets and is a simple styling language which allows attaching style to HTML elements. CSS is a.
Cascading Style Sheets Basics. Why use Cascading Style Sheets? Allows you to set up a series of rules for all pages in a site. The series may be changed.
© 2004, Robert K. Moniot Chapter 6 CSS : Cascading Style Sheets.
1 Pengantar Teknologi Internet W03: CSS Cascading Style Sheets.
Recognizing the Benefits of Using CSS 1. The Evolution of CSS CSS was developed to standardize display information CSS was slow to be supported by browsers.
© 2010, Robert K. Moniot Chapter 5 CSS : Cascading Style Sheets 1.
© Yaron Kanza HTML,CSS and JavaScript Written by Dr. Yaron Kanza, Edited by permission from author by Liron Blecher.
CS4370/6370 Web Development Cascading Style Sheets (CSS)
Web Design & Development Cascading Style Sheets (CSS)
1 Cascading Style Sheets (CSS) DBI Overview of CSS.
Cascading Style Sheets Scripting with Style. CSS versus HTML  Ways to format in HTML –HTML Tag extensions –Converting Text to images –Page Layout with.
CSS: Cascading Style Sheets. What are Style Sheets A style sheet is a mechanism that allows to specify how HTML (/XHTML/XML) pages should look The style.
Cascading Style Sheets1. 2 n Style sheets are a means of controlling the way HTML tags are formatted n IE introduced style sheets in IE 3.0 release n.
3.1 Cascading Style Sheets. Motto Fashions fade, style is eternal. —Yves Saint Laurent.
CSS: Cascading Style Sheets. 2 History HTML tags were originally designed to define the content of a document. The layout of the document was supposed.
Principles of Web Design 6 th Edition Chapter 4 – Cascading Style Sheets.
Using Cascading Style Sheets. Introduction to Styles and Properties  Cascading Style Sheets (CSS) are a standard set by the World Wide Web Consortium.
Cascading Style Sheets CS3505. What are CSS? Method for adding style attributes consistently to HML tags Cascading because styles are applied in order.
Dreamweaver -- CSS. Dreamweaver -- MX New icons are added in MX Most of the features commonly used in web design, and are same as FrontPage. New feature.
Week 4.  Three ways to apply CSS: Inline CSS Internal style sheets ( header style information) External style sheets.
Cascading Style Sheets CSS.  Standard defined by the W3C  CSS1 (released 1996) 50 properties  CSS2 (released 1998) 150 properties (positioning)  CSS3.
Cascading Style Sheet (CSS)
1Computer Sciences Department. And use
Tutorial #3 Cascading Style Sheets. Review: Last Class Image sizing Pathnames Project Default Path Relative Path Absolute Path Blackboard Homework Submission.
New Perspectives on XML, 2nd Edition Tutorial 5 1 TUTORIAL 5 WORKING WITH CASCADING STYLE SHEETS.
XP New Perspectives on XML Tutorial 5 1 TUTORIAL 5 CSS Tutorial – Carey ISBN
Cascading Style Sheets. Defines the presentation of one or more web pages Similar to a template Can control the appearance of an entire web site giving.
1 Cascading Style Sheets (CSS) Part 2. 2 The Sources of Style Sheets.
Doman’s Sections Information in this presentation includes text and images from
CSS: Cascading Style Sheets. 2 What are Style Sheets A style sheet is a mechanism that allows to specify how HTML (/XHTML/XML) pages should look The style.
Cascading Style Sheets by Pavlovic Nenad by. Presentation Contents  What is CSS?  Why CSS?  Types of Style Sheets  Style Sheets Syntax  Box Formatting.
Today’s objectives  Review  CSS | Rules | Declarations  HTML Structure document  Class asignment.
 A style sheet is a single page of formatting instructions that can control the appearance of many HTML pages at once.  If style sheets accomplished.
Cascading Style Sheets CSS by Pavlovic Nenad by. 2Cascading Style Sheets Presentation Contents What are CSS? What are CSS? History of CSS History of CSS.
Tutorial #4 Formatting Text and Links. Tutorial #3 Review - CSS CSS format Selector { property1: value1; /* Comments */ } Embedded, In-Line, and External.
Introduction to Programming the WWW I CMSC Summer 2004 Lecture 7.
Today’s objectives  Review  CSS | Rules | Declarations  HTML Structure document  Class asignment.
Cascading Style Sheets Orientation Learning Web Design: Chapter 11.
Tutorial #3 Cascading Style Sheets. Tutorial #2 Review - Anchors Links to Site DMACC Internal Links Go to Top Mail To me Local.
MySQL and PHP Review CSS. Cascading Style Sheet (CSS) Style sheets are files or forms that describe the layout and appearance of a document. Cascading.
Lesson 03 // Cascading Style Sheets. CSS Stands for Cascading Style Sheets. We’ll be using a combination of Html and CSS to create websites. CSS is a.
Chapter 6 Introducing Cascading Style Sheets Principles of Web Design, 4 th Edition.
Cascading Style Sheets Robin Burke ECT 270. Outline Midterm The Layout Debate CSS properties Fonts Alignment Color CSS selection selectors pseudo-classes.
ECA225 Applied Interactive Programming Cascading Style Sheets, pt 1 ECA 225 Applied Online Programming.
CSS Class 2 -Add margins to elements on a page. -Set width and height of elements. - CSS shorthand properties for box model. -Style links. -Style tables.
Cascading Style Sheets CSS.  Standard defined by the W3C  CSS1 (released 1996) 50 properties  CSS2 (released 1998) 150 properties (positioning)  CSS3.
Cascading Style Sheets Eugenia Fernandez IUPUI. CSS Purpose CSS allow you to specify the style in which your XML elements are displayed. CSS were originally.
XP Review 2 New Perspectives on JavaScript, Comprehensive1 Introducing Cascading Style Sheets Formatting Web Pages with CSS.
1 Web Development CSS (Cascading Style Sheet). 2 1.Setting rules for multiple elements To decrease the amount of typing for setting rules for multiple.
CS 174: Web Programming September 9 Class Meeting Department of Computer Science San Jose State University Fall 2015 Instructor: Ron Mak
Managing Data on the World-Wide Web cs What is HTML? A Markup Language for representing documents text (data) structure appearance functionality.
Web Technologies Beginning Cascading Style Sheets (CSS) 1Copyright © Texas Education Agency, All rights reserved.
CSS: Cascading Style Sheets Part II. Style Syntax.
1 CSS: Cascading Style Sheets W3Schools CSS tutorialCSS tutorial.
NASRULLAHIBA.  It is time to take your web designing skills to the next level with Cascading Style Sheets (CSS). They are a way to control the look and.
ECA 228 Internet/Intranet Design I Cascading Style Sheets.
Chapter 11 & 12 CSS Style Sheets: Intro. Why CSS? Separate presentation from content – more accessible Less work – can change appearance of whole site.
Blended HTML and CSS Fundamentals 3 rd EDITION Tutorial 3 Introducing Cascading Style Sheets.
Internet & World Wide Web How to Program, 5/e Copyright © Pearson, Inc All Rights Reserved.
Cascading Style Sheets Robin Burke ECT 270. Outline CSS properties Fonts Alignment Color CSS selection selectors.
CONFIGURING COLOR AND TEXT WITH CSS Chapter 3. Cascading Style Sheets (CSS) Used to configure text, color, and page layout. Launched in 1996 Developed.
Internet & World Wide Web How to Program, 5/e 1. 2.
Cascading Style Sheets
Cascading Style Sheets
IS333: MULTI-TIER APPLICATION DEVELOPMENT
Cascading Style Sheets
Cascading Style Sheets
Presentation transcript:

Cascading Style Sheets (CSS)

DBI 2008 HUJI-CS 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

DBI 2008 HUJI-CS 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) – (HUJI) To attach a style sheet to an HTML file, add to the head You can link to more than one css file

Without a style sheet (i.e., with the default style definitions)

DBI 2008 HUJI-CS 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 group elements.

DBI 2008 HUJI-CS 6

HUJI-CS 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%;}

DBI 2008 HUJI-CS 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!").

DBI 2008 HUJI-CS 9

HUJI-CS 10 Background: Style in Legacy HTML In traditional HTML, every HTML tag which supported changing its font/color/etc…, supported this using a different syntax Examples: Hello Hey! line-through

DBI 2008 HUJI-CS 11 Advantages of Style Sheets Separates content from style –Often require two kinds of skills; moreover, one is likely to change independently from the other Keeps HTML pages human-readable Reduces download time (how?) Allows to easily maintain a consistent appearance over a whole Web site (why?) A more flexible, unified way to specify style properties for different HTML elements (tables, paragraphs, etc…)

DBI 2008 HUJI-CS 12 The Transition to Style Sheets Style Sheets provide new ways to accomplish tasks which were already possible –… but recall the advantages from the previous slide Once style sheets were introduced, most of the legacy features with equivalent functionality were deprecated in HTML 4.01 and in Transitional XHTML and were removed in Strict XHTML

DBI 2008 HUJI-CS 13 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

DBI 2008 HUJI-CS 14 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 element

DBI 2008 HUJI-CS 15 Properties that CSS Controls Style properties Layout properties There are many properties and many possible values –We will not cover all of them here –Look in the Web !!!

Style Properties

DBI 2008 HUJI-CS 17 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...

DBI 2008 HUJI-CS 18 Font Properties Font properties: family, size, weight, style, variant, etc. span { font-family: courier; font-size: 130%; font-style: italic; font-weight: bold} Enable to transform letters into small-caps

DBI 2008 HUJI-CS 19 Text Properties Text properties: color, transform, decoration, … span { color: #00cc00; text-decoration: line-through; text-transform: uppercase} Transforms the letters’ case (upper / lower / capital)

DBI 2008 HUJI-CS 20 Background Properties Background properties: background-color, background-image, … span {background-color: #00ff00} span {background-image: url('bg.gif');}

Layout Properties

DBI 2008 HUJI-CS 22 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

DBI 2008 HUJI-CS 23 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 (highly useful for img elements, among others), using the display property, e.g., h1 { display: inline }

DBI 2008 HUJI-CS 24 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

DBI 2008 HUJI-CS 25 Position Types But 1cm left to what?? For that, we have the position property Four position types are supported: –static: the default position –relative: relative to the static position –absolute: relative to the parent layer coordinates –fixed: relative to the window coordinates (remains at the same position regardless of scrolling)

DBI 2008 HUJI-CS 26 Position Examples span { position:absolute; left: 1cm; top: 1cm; color: #00cc00;} span { position:fixed; left: 1cm; top: 1cm; color: #00cc00;}

DBI 2008 HUJI-CS 27 Position Examples span { position:static; left: 1cm; top: 1cm; color: #00cc00;} Totally Ignored! This is the default position type

DBI 2008 HUJI-CS 28 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, … A mama tomato, a papa tomato and a baby tomato are walking down the street. Padding margin

DBI 2008 HUJI-CS 29 Length Units CSS has several types of length units: –em, ex: height of current fonts ex is the height of “x”, em is the distance between bottoms of two subsequent lines –px, in, cm, mm, pt, pc: international units –%: ratio of parent’s respective dimension A page should remain a proper layout when fonts and/or windows are resized (usually by the user) –Hence, do not assume anything about default sizes

Selector Types

DBI 2008 HUJI-CS 31 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. The good news: supported by IE 7

DBI 2008 HUJI-CS 32 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

DBI 2008 HUJI-CS 33 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 }

DBI 2008 HUJI-CS 34 Attribute Selectors p[title] –matches p when its title attribute 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”

DBI 2008 HUJI-CS 35 Class Selector A class selector is a selector of the form x.y It matches xs that have the class attribute with value y (i.e., it is a shorthand for x[class=y]) li.reditem {color: red} Matches: An item Another item.reditem {color: red} will also work! (it will match any element with class="reditem”)

DBI 2008 HUJI-CS 36 ID Selectors IDs are similar to classes, except that there can only be one element with a given ID in a document –That is, an ID uniquely identifies an element li#23 {color: red} Matches: An item Another item #23 { color: red} will also work!

DBI 2008 HUJI-CS 37 Descendant/Child/Sibling Selector A descendant selector has the form S 1 S 2 where S 1 and S 2 are (possible complex) selectors It matches all elements that –match S 2, and –are descendants (nested in any level in) elements that match S 1 To match only immediate descendants (children), use a Child Selector S 1 > S 2 To match S 2 immediately following S 2, use an Adjacent-Sibling Selector S 1 + S 2

DBI 2008 HUJI-CS 38 An Example.head div>span 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

DBI 2008 HUJI-CS 39Pseudo-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

DBI 2008 HUJI-CS 40 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[type=text]:focus {background-color: yellow} when typing a text into a text input box (meaningful with other input types as well)

DBI 2008 HUJI-CS 41Pseudo-Elements Pseudo element selectors select abstract elements which are not specified as elements in the source HTML –For example, to transform the first line of every p into uppercase, use: P:first-line {text-transform: uppercase} Why can’t this be faked by enclosing the first line with a span? Example 2: p.article:first-letter {color:#ff0000}

DBI 2008 HUJI-CS 42 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%}

Inserting Style to a Page

DBI 2008 HUJI-CS 44 Inline Styles In an inline style, the declaration block is 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

DBI 2008 HUJI-CS 45 Document-Level Style body {color: red; background: skyblue;} h1 { color: blue }...

DBI 2008 HUJI-CS 46 Imported Style Sheets rule imports the style rules of another style sheet 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

DBI 2008 HUJI-CS 47 Imported Style Sheets Why do we need the import command when we have the url(general.css); body { color: red; background:skyblue } h1 { color: blue } An Example: in a css file, one can create style- sheets which are based on others…

Inheritance and Cascading

DBI 2008 HUJI-CS 49 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!

DBI 2008 HUJI-CS 50 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

DBI 2008 HUJI-CS 51 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

DBI 2008 HUJI-CS 52 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 (importance) Apply the rule of the first declaration in the cascading order

DBI 2008 HUJI-CS 53 Cascading Order The cascading order of declarations: origin 1.Primary sort: Importance of origin Specificity 2.Secondary sort: Specificity of selectors Order 3.Final sort: Order of appearance

DBI 2008 HUJI-CS 54 Importance of Origin There are two origins of rules: author and browser (defaults / user customizations) browser !important rules author !important rules author rules browser rules strongest weakest For example, you can add stylesheets to IE in the following way: Tools  internet options  Accessibility  User style sheet. Of course you can add !important browser rules this way as well…

DBI 2008 HUJI-CS 55 Specificity of Selectors is rule in style attribute? number of ID attributes number of attributes and pseudo-classes number of element names strongest weakest

DBI 2008 HUJI-CS 56 An Example Which is the most specific? li {…} #x34y {…} ul ol li.red {…} 1 2 3

DBI 2008 HUJI-CS 57 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 are considered to appear before local rules (i.e., their position is less important)