cascading style sheets robin burke ect 360. outline midterm css css selection positioning svg final...

56
Cascading Style Sheets Robin Burke ECT 360

Upload: shanon-barton

Post on 05-Jan-2016

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Cascading Style Sheets Robin Burke ECT 360. Outline Midterm CSS CSS selection Positioning SVG Final project

Cascading Style Sheets

Robin Burke

ECT 360

Page 2: Cascading Style Sheets Robin Burke ECT 360. Outline Midterm CSS CSS selection Positioning SVG Final project

Outline

Midterm CSS

CSS selection Positioning

SVG Final project

Page 3: Cascading Style Sheets Robin Burke ECT 360. Outline Midterm CSS CSS selection Positioning SVG Final project

Midterm

2/2 5:45 pm

open book

Page 4: Cascading Style Sheets Robin Burke ECT 360. Outline Midterm CSS CSS selection Positioning SVG Final project

What is a style?

An association between a set of display properties a logical unit of document content

Not document content

Some exceptions numbered lists, captions, etc.

CSS originated for adding style to HTML documents

Page 5: Cascading Style Sheets Robin Burke ECT 360. Outline Midterm CSS CSS selection Positioning SVG Final project

Benefit

HTML goes back to defining structure Layout and display decisions encoded

in the stylesheet Designer can easily change page

format without affecting HTML

Page 6: Cascading Style Sheets Robin Burke ECT 360. Outline Midterm CSS CSS selection Positioning SVG Final project

Syntax of CSS

selector { attribute:value; } Example

h1 { font-color:blue; } Multiple attribute/values pairs possible

Page 7: Cascading Style Sheets Robin Burke ECT 360. Outline Midterm CSS CSS selection Positioning SVG Final project

XHTML example

Page 8: Cascading Style Sheets Robin Burke ECT 360. Outline Midterm CSS CSS selection Positioning SVG Final project

CSS in XML

XML is a data-interchange languagenot intended for display

CSS can be usedmust provide all display information

Page 9: Cascading Style Sheets Robin Burke ECT 360. Outline Midterm CSS CSS selection Positioning SVG Final project

CSS in XML, cont'd

HTML distinguishes in-line vs block elements<b> vs <p>crucial for layout

XML has no such distinction

Page 10: Cascading Style Sheets Robin Burke ECT 360. Outline Midterm CSS CSS selection Positioning SVG Final project

Display attribute

block display content in a separate chunk

in-line display content as part of the parent element

list-item display content as part of a list

none hide content

Page 11: Cascading Style Sheets Robin Burke ECT 360. Outline Midterm CSS CSS selection Positioning SVG Final project

Inheritance

Elements inherit their stylessetting a style for the "body" element

changes the whole documentsame true for parent elements in XML

Page 12: Cascading Style Sheets Robin Burke ECT 360. Outline Midterm CSS CSS selection Positioning SVG Final project

Embedded style

style is declared within a given XML document

plusstyle information centralized

minuscan't be reused on other documentsno standardized way to do this

Page 13: Cascading Style Sheets Robin Burke ECT 360. Outline Midterm CSS CSS selection Positioning SVG Final project

External

a separate document "style sheet" is useddocuments link to the style sheet

plusstyle can be shared across documents

minusanother document to manage &

distribute

Page 14: Cascading Style Sheets Robin Burke ECT 360. Outline Midterm CSS CSS selection Positioning SVG Final project

Stylesheet linking

Processing instructioninformation for the rendering

applicationnot part of the document content

Syntax<?xml-stylesheet type="text/css"

href="course.css"?>

Page 15: Cascading Style Sheets Robin Burke ECT 360. Outline Midterm CSS CSS selection Positioning SVG Final project

Examples

external style

Page 16: Cascading Style Sheets Robin Burke ECT 360. Outline Midterm CSS CSS selection Positioning SVG Final project

Lists

can choose different kinds of bullets can control nesting behavior Example

Page 17: Cascading Style Sheets Robin Burke ECT 360. Outline Midterm CSS CSS selection Positioning SVG Final project

CSS Rules: Selectors

any element name element with particular attribute

foo[bar="baz"] not implemented in IE 6.0

element relationshipsa ba > ba + b

designer-defined classes

Page 18: Cascading Style Sheets Robin Burke ECT 360. Outline Midterm CSS CSS selection Positioning SVG Final project

CSS Pseudo-elements

Pseudo-elementsa class name that is pre-defined but

isn't a tag Example

first-linefirst-letter

Also not implemented in IE 6.0

Page 19: Cascading Style Sheets Robin Burke ECT 360. Outline Midterm CSS CSS selection Positioning SVG Final project

Examples

section section-number {font-weight: bold; }

section[type="night"] { color: blue; }

instructor:first-letter { font-size:large; color: red; }

Page 20: Cascading Style Sheets Robin Burke ECT 360. Outline Midterm CSS CSS selection Positioning SVG Final project

CSS Classes and Ids

A class is a user-defined nameidentifies certain elements for stylingin document, <foo class="bar">in stylesheet, foo.bar

ID must be unique in documentuse for identify a single element to

have a particular style#id

Page 21: Cascading Style Sheets Robin Burke ECT 360. Outline Midterm CSS CSS selection Positioning SVG Final project

Examples

#me { font-weight: bold; }

section.day { color: red; }

section.night { color: blue; }

Page 22: Cascading Style Sheets Robin Burke ECT 360. Outline Midterm CSS CSS selection Positioning SVG Final project

Alignment and positioning

padding

border

margin

Block-level element

Page 23: Cascading Style Sheets Robin Burke ECT 360. Outline Midterm CSS CSS selection Positioning SVG Final project

Layering

Boxes can overlap each othertransparent regions will show throughlayering

• negative margin does this

Boxes can be positioned absolutelyalso causes layering

• position: absolute• specific position on page

Page 24: Cascading Style Sheets Robin Burke ECT 360. Outline Midterm CSS CSS selection Positioning SVG Final project

Example

Page 25: Cascading Style Sheets Robin Burke ECT 360. Outline Midterm CSS CSS selection Positioning SVG Final project

Break

Page 26: Cascading Style Sheets Robin Burke ECT 360. Outline Midterm CSS CSS selection Positioning SVG Final project

SVG

Scalable Vector Graphics Graphics

graphical display of all sortseven UI

Vectoras opposed to "raster"

Scalableimportant for multi-platform

Page 27: Cascading Style Sheets Robin Burke ECT 360. Outline Midterm CSS CSS selection Positioning SVG Final project

SVG

XML application Based on "paint/canvas" model A graphic is a set of painting

operationslayered on top of each other

Page 28: Cascading Style Sheets Robin Burke ECT 360. Outline Midterm CSS CSS selection Positioning SVG Final project

Viewing SVG

Browser plug-inAdobe (best)Corel

Drawing toolsCorelDrawAdobe Illustrator

Page 29: Cascading Style Sheets Robin Burke ECT 360. Outline Midterm CSS CSS selection Positioning SVG Final project

Basic tools

text line rect circle ellipse path

Page 30: Cascading Style Sheets Robin Burke ECT 360. Outline Midterm CSS CSS selection Positioning SVG Final project

Attributes

x, ystart position

fillthe color of the contents

strokethe color of the line / edge

many others

Page 31: Cascading Style Sheets Robin Burke ECT 360. Outline Midterm CSS CSS selection Positioning SVG Final project

Simple example

a box containing text<svg width="475px" height="75px"

xmlns="http://www.w3.org/2000/svg" version="1.1">

<rect

fill="blue" stroke="black" stroke-width="5"

x="0" y="0" width="475" height="75"/>

<text x="10" y="20"

fill="white" font-size="18">

Hello world

</text>

</svg>

Page 32: Cascading Style Sheets Robin Burke ECT 360. Outline Midterm CSS CSS selection Positioning SVG Final project

A more complex example

course logo

Page 33: Cascading Style Sheets Robin Burke ECT 360. Outline Midterm CSS CSS selection Positioning SVG Final project

HTML embedding

Page 34: Cascading Style Sheets Robin Burke ECT 360. Outline Midterm CSS CSS selection Positioning SVG Final project

Scalability

All images are pixelsrasterization

When are pixels created?jpg, gif, png, etc. at creation timesvg at display time

Benefitsno loss of clarity at high scalesmaller files esp. for simple drawings

Page 35: Cascading Style Sheets Robin Burke ECT 360. Outline Midterm CSS CSS selection Positioning SVG Final project

Example

scaling JPEG vs SVG

Page 36: Cascading Style Sheets Robin Burke ECT 360. Outline Midterm CSS CSS selection Positioning SVG Final project

Path

a way to represent complex shapes straight line curved

Page 37: Cascading Style Sheets Robin Burke ECT 360. Outline Midterm CSS CSS selection Positioning SVG Final project

Example

ducks

Page 38: Cascading Style Sheets Robin Burke ECT 360. Outline Midterm CSS CSS selection Positioning SVG Final project

Abstract path

A path need not be drawn Can be used to arrange other

elementsesp. text

Page 39: Cascading Style Sheets Robin Burke ECT 360. Outline Midterm CSS CSS selection Positioning SVG Final project

Path example

course logo with textPath

Page 40: Cascading Style Sheets Robin Burke ECT 360. Outline Midterm CSS CSS selection Positioning SVG Final project

Grouping and transforming

g element is used to group elements Reasons

apply an attribute to alldefine a new coordinate systemtransform the group

Page 41: Cascading Style Sheets Robin Burke ECT 360. Outline Midterm CSS CSS selection Positioning SVG Final project

Transform examples

Coordinate shift Skew

Page 42: Cascading Style Sheets Robin Burke ECT 360. Outline Midterm CSS CSS selection Positioning SVG Final project

Combining CSS and SVG

SVG elementscan have CSS styles applied

Internal or external style Familiar properties

color, font-family, etc. also SVG specific

fill, stroke, fill-opacity, etc.

Page 43: Cascading Style Sheets Robin Burke ECT 360. Outline Midterm CSS CSS selection Positioning SVG Final project

CSS example

course logo internal course logo external

Page 44: Cascading Style Sheets Robin Burke ECT 360. Outline Midterm CSS CSS selection Positioning SVG Final project

Linking

With imagesclickable image maps

Butimage map separate from image

Page 45: Cascading Style Sheets Robin Burke ECT 360. Outline Midterm CSS CSS selection Positioning SVG Final project

Linking, cont'd

A elementas in HTMLbut based on XLink standard

Example<a xlink:href="myurl">

<rect ...></rect>

</a>

Clicking in the rectangle goes to URL

Page 46: Cascading Style Sheets Robin Burke ECT 360. Outline Midterm CSS CSS selection Positioning SVG Final project

Linking example

course logo with link

Page 47: Cascading Style Sheets Robin Burke ECT 360. Outline Midterm CSS CSS selection Positioning SVG Final project

Filters

Graphical effects created by filters Can be applied under SVG control A complex topic

Filter effects blur lighting compositing blending convolution noise, etc.

Page 48: Cascading Style Sheets Robin Burke ECT 360. Outline Midterm CSS CSS selection Positioning SVG Final project

Filter example

course logo with specular effect Steps

get the silhouette of the image and blur it offset blur to create shadow apply lighting to blur to get highlight trim highlights to fit image add highlight back to original image combine with shadow

Page 49: Cascading Style Sheets Robin Burke ECT 360. Outline Midterm CSS CSS selection Positioning SVG Final project

Scripting

SVG graphics can be scriptedusing JavaScript / ECMAScript

Same techniques as used in HTMLevent handling via onclick,

onmouseover, ec. Difference

now interacting with SVG DOMnot HTML DOM

Page 50: Cascading Style Sheets Robin Burke ECT 360. Outline Midterm CSS CSS selection Positioning SVG Final project

Scripting examples

course logo with roll-over mines

Page 51: Cascading Style Sheets Robin Burke ECT 360. Outline Midterm CSS CSS selection Positioning SVG Final project

Animation

SVG also supports animationuses some ideas from SMIL

Page 52: Cascading Style Sheets Robin Burke ECT 360. Outline Midterm CSS CSS selection Positioning SVG Final project

Animation example

course logo spinning

Page 53: Cascading Style Sheets Robin Burke ECT 360. Outline Midterm CSS CSS selection Positioning SVG Final project

Final project

XML application your choice should have 50 objects

Schema Transformations

full listing summary SVG

Display controlled by CSS

Page 54: Cascading Style Sheets Robin Burke ECT 360. Outline Midterm CSS CSS selection Positioning SVG Final project

Final project, cont'd

SchemaDocument

Transform #1(XSLT)

Full Listing(XHTML)

Full ListingStyle (CSS)

Full ListingDisplay

Transform #2(XSLT)

Summary(XHTML)

SummaryStyle (CSS)

SummaryDisplay

Transform #3(XSLT)

GraphicalSummary

(SVG)

GraphicalStyle (CSS)

GraphicalDisplay

validates

Page 55: Cascading Style Sheets Robin Burke ECT 360. Outline Midterm CSS CSS selection Positioning SVG Final project

Milestones

2/6teamdomain

2/23schema draftdocument draft

3/15final presentation

Page 56: Cascading Style Sheets Robin Burke ECT 360. Outline Midterm CSS CSS selection Positioning SVG Final project

Next week

Midterm open book, notes covers

XML syntaxvalidationCSSSVG