230
1 CSS3: Ripe & Ready to Respond CSS3: Ripe & Ready to Respond Denise Jacobs // Web 2.0 Expo - New York // October 11, 2011

CSS3: Ripe and Ready to Respond

  • View
    6.144

  • Download
    7

Embed Size (px)

DESCRIPTION

CSS3 isn't the future, it's the present, and is ripe for the pickin' and is ready to respond to display your sites in multiple devices right now. Presented at Web 2.0 Expo New York 2011.

Citation preview

Page 1: CSS3: Ripe and Ready to Respond

1

CSS3:Ripe & Ready to RespondCSS3:Ripe & Ready to Respond

Denise Jacobs //Web 2.0 Expo - New York // October 11, 2011

Page 2: CSS3: Ripe and Ready to Respond

2

Sweet TweetsSweet Tweets

Who I am: @denisejacobs

This fine event: @w2e #w2e

What I’m talkin’ ‘bout:#css3rr

Page 3: CSS3: Ripe and Ready to Respond

3

A little about meA little about meDenise R. Jacobs is an author, speaker, design thinker, and educator. She is the author of The CSS Detective Guide, and is a co-author for InterActwith Web Standards: A Holistic Approach to Web Design. She is a Consultant Web Design Trainer and Creativity Evangelist based in Miami, Florida.

CSSDetectiveGuide.com & InterActWithWebStandards.com

Page 4: CSS3: Ripe and Ready to Respond

4

Ripe?Ripe?

Page 5: CSS3: Ripe and Ready to Respond

5

Ready to respond?Ready to respond?

Page 6: CSS3: Ripe and Ready to Respond

6

The goalThe goal

Page 7: CSS3: Ripe and Ready to Respond

7

How???How???

Page 8: CSS3: Ripe and Ready to Respond

8

Start hereStart here……1. Know Your CSS3

• Getting started• What’s new

• Rules of the road

• Helping tools and scripts

• Properties• Standard effects

• Advanced effects

• Selectors

Page 9: CSS3: Ripe and Ready to Respond

9

……Continue hereContinue here2. Get Responsive

• Shift your brain• Mobile first

• Watch out

• 3 components• Flexible grid

• Flexible images

• Media queries

Page 10: CSS3: Ripe and Ready to Respond

10

……And end here!And end here!2. Becoming Responsive (cont’d)

• 4 Steps• Plan your design

• Crunch the numbers

• Determine the breaking points

• Add media queries

3. Resources

Page 11: CSS3: Ripe and Ready to Respond

11

WhatWhat’’s New in s New in CSS3CSS3

Page 12: CSS3: Ripe and Ready to Respond

12

WhatWhat’’s New in CSS3?s New in CSS3?CSS3 is the third generation of the CSS

specification recommendations from the W3C.

In CSS3 there are new selectors, pseudo-elements and classes, properties, and values specifically created to answer the needs and solve the problems of modern web design and development.

Page 13: CSS3: Ripe and Ready to Respond

13

CSS3 ModularityCSS3 ModularityCSS3 has been broken up into different

unique modules. This means is that, for example, the particular CSS properties and values for layout is grouped into one specific module.

Page 14: CSS3: Ripe and Ready to Respond

14

CSS3 Modularity: BenefitsCSS3 Modularity: Benefits• Browser producers can now implement

CSS3 module by module

• Speeds up the browser implementation process

• Encourages innovation

Page 15: CSS3: Ripe and Ready to Respond

15

The CSS3 ModulesThe CSS3 Modules• Template Layout • Backgrounds and Borders • Ruby • Basic User Interface • Basic Box Model • Grid Positioning • Speech • Marquee • Style Attribute Syntax • Cascading and Inheritance • Color • Fonts • Text• Generated Content for Paged

Media• Generated and Replaced

Content

• Values and Units• Web Fonts • Behavioral Extensions to CSS • Line Layout • Flexible Box Layout • Image Values • 2D Transformations • Multi-column Layout • 3D Transformations • Namespaces • Transitions • Animations • View Module • Media Queries • Paged Media • Selectors

Page 16: CSS3: Ripe and Ready to Respond

16

Resources: New in CSS3Resources: New in CSS3http://www.w3.org/TR/tr-groups-all#

tr_Cascading_Style_Sheets__CSS__Working_Group

Page 17: CSS3: Ripe and Ready to Respond

17

Colors in CSS3: RGBColors in CSS3: RGB• Regular RGB

rgb(x, x, x): ex. rgb(255, 0, 0)

• RBG with alpha-opacity rgba(x, x, x, y): An RGB value ex. rgba(255, 0, 0, 0.2)

Page 18: CSS3: Ripe and Ready to Respond

18

RGBA ColorRGBA ColorAlpha opacity:

0.0 = 0% = no opacity

1.0 = 100% = full opacity

Page 19: CSS3: Ripe and Ready to Respond

19

Colors in CSS3: HSLColors in CSS3: HSLHSL stands for hue, saturation, and

luminosity (lightness)

• Regular HSLhsl(x%, x%, x%): ex. hsl(0, 100%, 50%)

• HSL with alpha-opacityhsla(x%, x%, x%, y): ex. hsla(0, 100%, 50%, 0.5)

Page 20: CSS3: Ripe and Ready to Respond

20

HSL Color WheelHSL Color Wheel

0º – Red

60º – Yellow

120º – Green

180º – Cyan

240º – Blue

300º – Magenta

Page 21: CSS3: Ripe and Ready to Respond

21

HSL Color Picker ToolHSL Color Picker Tool

http://www.workwithcolor.com/hsl-color-picker-01.htm

Page 22: CSS3: Ripe and Ready to Respond

22

Getting Started with Getting Started with CSS3:CSS3:

The Rules of the RoadThe Rules of the Road

http://www.flickr.com/photos/ilike/3707503212/

Page 23: CSS3: Ripe and Ready to Respond

23

CSS3 Browser CSS3 Browser CompatibilityCompatibility

http://www.flickr.com/photos/sfllaw/222795669/

Page 24: CSS3: Ripe and Ready to Respond

24

The ScoopThe Scoop• Many properties are browser-specific,

requiring vendor prefixes

• Plus there is a standard property

• There are syntax differences between browser-specific properties and the standard property

• All of this causes an increase in the amount of CSS

Page 25: CSS3: Ripe and Ready to Respond

25

Code bloat in actionCode bloat in actionIdeally:

a.polaroid:active {z-index: 999;border-color: #6A6A6A;box-shadow: 15px 15px 20px

rgba(0,0, 0, 0.4);transform: rotate(0deg)

scale(1.05);}

Reality:

a.polaroid:active {z-index: 999;border-color: #6A6A6A;-webkit-box-shadow: 15px

15px 20px rgba(0,0, 0, 0.4);

-moz-box-shadow: 15px 15px20px rgba(0,0, 0, 0.4);

box-shadow: 15px 15px 20px rgba(0,0, 0, 0.4);

-webkit-transform: rotate(0deg) scale(1.05);

-moz-transform: rotate(0deg) scale(1.05);

transform: rotate(0deg) scale(1.05);

}

Page 26: CSS3: Ripe and Ready to Respond

26

DoesnDoesn’’t Validatet Validate

Page 27: CSS3: Ripe and Ready to Respond

27

…as in “not any.”

http://www.flickr.com/photos/johnsnape/4258191545/

6 7 8

None of the older None of the older IEsIEs support CSS3support CSS3

Page 28: CSS3: Ripe and Ready to Respond

28

IE9 now supports CSS3IE9 now supports CSS3…But still not as fully as

the other browsers yet.

Page 29: CSS3: Ripe and Ready to Respond

29

Resources: IE9 CSS3 supportResources: IE9 CSS3 supporthttp://msdn.microsoft.com/en-

us/ie/ff468705.aspx#_Web_standards_support

http://msdn.microsoft.com/en-us/library/cc351024%28v=vs.85%29.aspx

http://www.impressivewebs.com/css3-support-ie9/

Page 30: CSS3: Ripe and Ready to Respond

30

Tools youTools you’’ll need:ll need:1. CSS3 Property browser support charts

2. CSS3 Selector browser support charts

3. CSS3 Specifications

4. All browsers to test in and/or cross-browser testers

Page 31: CSS3: Ripe and Ready to Respond

31

CSS3 Property browser support chartsCSS3 Property browser support charts

http://www.findmebyip.com/litmus

Page 32: CSS3: Ripe and Ready to Respond

32

CSS3 Selector browser support chartsCSS3 Selector browser support charts

http://www.standardista.com/css3/css3-selector-browser-support

Page 33: CSS3: Ripe and Ready to Respond

33

The CSS3 SpecificationsThe CSS3 SpecificationsThe CSS3 Specifications are THE resource for

finding out exactly is the intented behavior and use of any given property.

http://www.w3.org/standards/techs/css#w3c_all

Page 34: CSS3: Ripe and Ready to Respond

34

CrossCross--browser testersbrowser testershttp://tredosoft.com/Multiple_IE

http://crossbrowsertesting.com/

(paid)

http://browsershots.org/

(free)

Page 35: CSS3: Ripe and Ready to Respond

35

CSS3 & CrossCSS3 & Cross--browser Codingbrowser Coding

http://www.flickr.com/photos/scfiasco/4490322916/

Page 36: CSS3: Ripe and Ready to Respond

36

The Goal: Code that works The Goal: Code that works in all most browsersin all most browsers

Page 37: CSS3: Ripe and Ready to Respond

37

Not all browsers are created equalNot all browsers are created equal

Page 38: CSS3: Ripe and Ready to Respond

38 http://www.flickr.com/photos/barretthall/205175534/

How can we achieve compatibility?How can we achieve compatibility?

Page 39: CSS3: Ripe and Ready to Respond

39

Steps to get as close as possibleSteps to get as close as possible1. Leverage source order

2. Filter it

3. Let tools do all of the work

Page 40: CSS3: Ripe and Ready to Respond

40

• Place default properties first

• Place browser-specific properties ahead of standard properties

• The standard properties will override the vendor’s when the standard is established.

Leverage source orderLeverage source order

Page 41: CSS3: Ripe and Ready to Respond

41

A Proper StackA Proper Stack.gradient {color: #fff;

Page 42: CSS3: Ripe and Ready to Respond

42

A Proper StackA Proper Stack.gradient {color: #fff;background: #aaaaaa url(gradient_slice.jpg) 0 0

x-repeat; /*fallback background color & image*/

Page 43: CSS3: Ripe and Ready to Respond

43

A Proper StackA Proper Stack.gradient {color: #fff;background: #aaaaaa url(gradient_slice.jpg) 0 0

x-repeat; /*fallback background color & image*/background-image: -moz-linear-gradient(top,

#07407c, #aaaaaa); /* gradient for Mozilla */

Page 44: CSS3: Ripe and Ready to Respond

44

A Proper StackA Proper Stack.gradient {color: #fff;background: #aaaaaa url(gradient_slice.jpg) 0 0

x-repeat; /*fallback background color & image*/background-image: -moz-linear-gradient(top,

#07407c, #aaaaaa); /* gradient for Mozilla */background-image: -webkit-gradient(linear,left

top,left bottom,color-stop(0, #07407c),color-stop(1, #aaaaaa)); /* gradient for the Webkits*/

Page 45: CSS3: Ripe and Ready to Respond

45

A Proper StackA Proper Stack.gradient {color: #fff;background: #aaaaaa url(gradient_slice.jpg) 0 0

x-repeat; /*fallback background color & image*/background-image: -moz-linear-gradient(top,

#07407c, #aaaaaa); /* gradient for Mozilla */background-image: -webkit-gradient(linear,left

top,left bottom,color-stop(0, #07407c),color-stop(1, #aaaaaa)); /* gradient for the Webkits*/

-ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorStr='#07407c', EndColorStr='#aaaaaa')"; /* filter for IE8 (& IE9) */

Page 46: CSS3: Ripe and Ready to Respond

46

A Proper StackA Proper Stack.gradient {color: #fff;background: #aaaaaa url(gradient_slice.jpg) 0 0

x-repeat; /*fallback background color & image*/background-image: -moz-linear-gradient(top,

#07407c, #aaaaaa); /* gradient for Mozilla */background-image: -webkit-gradient(linear,left

top,left bottom,color-stop(0, #07407c),color-stop(1, #aaaaaa)); /* gradient for the Webkits*/

-ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorStr='#07407c', EndColorStr='#aaaaaa')"; /* filter for IE8 (& IE9) */

filter: progid:DXImageTransform.Microsoft.gradient(startColorStr='#07407c', EndColorStr='#aaaaaa');

} /* filter for IE7 and lower */

Page 47: CSS3: Ripe and Ready to Respond

47

• If you must have the effect in IE lt 8, such as alpha opacity, gradient, shadow, transitions etc. you could use a proprietary IE filter.

• The -ms-filter attribute is an extension to CSS. This syntax will allow other CSS parsers to skip the value of this unknown property completely and safely. It also avoids future name clashes with other CSS parsers.

• In IE 8 mode, filters must be prefixed with "-ms-" and the PROGID must be in single or double quotes to make sure IE 8 renders the filters properly.

Apply a FilterApply a Filter

Page 48: CSS3: Ripe and Ready to Respond

48

• IE filters work, but are essentially hacks– IE filters are proprietary and thus not part of

any standard specification, and never will be

Filters: {Caveat Coder}Filters: {Caveat Coder}

Page 49: CSS3: Ripe and Ready to Respond

49

Resources: IE FiltersResources: IE FiltersMicrosoft Visual Filters and Transitions Reference

http://msdn.microsoft.com/en-us/library/ms532853%28v=VS.85%29.aspx

Page 50: CSS3: Ripe and Ready to Respond

50

Let the tools do the workLet the tools do the work• We’ll talk about those next!

Page 51: CSS3: Ripe and Ready to Respond

51

CSS3 ToolsCSS3 Tools

http://www.flickr.com/photos/johnsnape/4258191545/

Page 52: CSS3: Ripe and Ready to Respond

52

Useful CSS3 ToolsUseful CSS3 Tools1. CSS3 Generators

2. Helper Scripts

3. Browser Feature Detection

4. Templates

Page 53: CSS3: Ripe and Ready to Respond

53

CSS3 GeneratorsCSS3 Generators

http://www.flickr.com/photos/latca/841730130/

Page 54: CSS3: Ripe and Ready to Respond

54

CSS3Please.comCSS3Please.com

Page 55: CSS3: Ripe and Ready to Respond

55

CSS3Generator.comCSS3Generator.com

Page 56: CSS3: Ripe and Ready to Respond

56

CSS3Maker.comCSS3Maker.com

Page 57: CSS3: Ripe and Ready to Respond

57

CSS3 Tools at CSS3 Tools at WestCivWestCiv

http://westciv.com/tools/

Page 58: CSS3: Ripe and Ready to Respond

58

More CSS3 GeneratorsMore CSS3 Generatorshttp://border-radius.com

http://www.colorzilla.com/gradient-editor/

http://csscorners.com

http://border-image.com

Page 59: CSS3: Ripe and Ready to Respond

59

Helper ScriptsHelper Scripts

http://www.flickr.com/photos/keystricken/386106987/

Page 60: CSS3: Ripe and Ready to Respond

60

Get a helping handGet a helping hand……These scripts help IE lt 8 behave like CSS3-compliant browsers. However, support of CSS3 properties varies between scripts.

Page 61: CSS3: Ripe and Ready to Respond

61

ieie--7.js (includes IE8 and IE9)7.js (includes IE8 and IE9)

http://code.google.com/p/ie7-js/

Page 62: CSS3: Ripe and Ready to Respond

62

CSS3Pie.comCSS3Pie.com

Page 63: CSS3: Ripe and Ready to Respond

63

CSS SandpaperCSS Sandpaper

http://www.useragentman.com/blog/csssandpaper-a-css3-javascript-library/

Page 64: CSS3: Ripe and Ready to Respond

64

Browser Feature Browser Feature DetectionDetection

http://www.flickr.com/photos/johnsnape/4258191545/

Page 65: CSS3: Ripe and Ready to Respond

65

Modernizr.comModernizr.com

Page 66: CSS3: Ripe and Ready to Respond

66

What does What does ModernizrModernizr do?do?Modernizr detects which CSS3 (and HTML5) properties are supported by the browser, and appends classes to the <html> tag, which then allows you to create styles to target specific properties to individual browsers.

It is a premier progressive enhancement tool!

Page 67: CSS3: Ripe and Ready to Respond

67

How to use How to use ModernizrModernizrhttp://www.alistapart.com/articles/taking-

advantage-of-html5-and-css3-with-modernizr/

http://webdesignernotebook.com/css/how-to-use-modernizr

http://www.ericlightbody.com/2010/modernizr-your-tool-for-html5-and-css3-functionality/

Page 68: CSS3: Ripe and Ready to Respond

68

TemplatesTemplates

http://www.flickr.com/photos/jazzmasterson/275796175/

Page 69: CSS3: Ripe and Ready to Respond

69

HTML5Boilerplate.comHTML5Boilerplate.com

Paul Irish’s HTML5 template file

http://html5boilerplate.com/

Page 70: CSS3: Ripe and Ready to Respond

70

CSS3 Properties!CSS3 Properties!

Page 71: CSS3: Ripe and Ready to Respond

71

WebfontsWebfonts

Page 72: CSS3: Ripe and Ready to Respond

72 http://lostworldsfairs.com/moon/

@font@font--faceface

Page 73: CSS3: Ripe and Ready to Respond

73

@font@font--faceface• Note:

– Actually part of the CSS2.1 specification. – Therefore, the IEs do support it!

• Tips & issues– When you decide to use a font as a webfont,

you have to be sure that the EULA supports it.– One way to avoid that is to use ONLY fonts

that are listed as approved webfonts.

• Browser Support– IE lt 8 require fonts to be in EOT format– IE9 now supports WOFF

Page 74: CSS3: Ripe and Ready to Respond

74

@font@font--face bug: IE face bug: IE ltlt 88@font-face super bullet-proofing

The problem:

@font-face doesn’t work, even with the proper normal syntax. What gives?

Page 75: CSS3: Ripe and Ready to Respond

75

@font@font--face bug: face bug: WebkitWebkit@font-face bold and italics “bug”

The problem:

Applying font-weight:bold or font-style: italic to @font-face'd text doesn’t work.

Page 76: CSS3: Ripe and Ready to Respond

76

Solution: IE proofSolution: IE proof @font@font--faceface+ faux variations+ faux variations

Example:@font-face {font-family: 'MyFontFamily';src: url('myfont-webfont.eot?#iefix‘) format('embedded-opentype'),

url('myfont-webfont.woff') format('woff'),

url('myfont-webfont.ttf')format('truetype'),

url('myfont-webfont.svg#svgFontName') format('svg');

font-weight:normal;font-style:normal;font-variant:normal;}

Page 77: CSS3: Ripe and Ready to Respond

77

FontSquirrel.comFontSquirrel.com

http://www.fontsquirrel.com/fontface/generator

Page 78: CSS3: Ripe and Ready to Respond

78

WebfontWebfont ServicesServicesInstead of generating the webfonts yourself,

you can pay a service where the webfontsare hosted elsewhere, and you link to them and use the fonts on their server.

Page 79: CSS3: Ripe and Ready to Respond

79

WebfontWebfont ServicesServices

http://www.typekit.com

Page 80: CSS3: Ripe and Ready to Respond

80

WebfontWebfont ServicesServiceshttp://www.typotheque

.com/webfonts

http://typekit.com

http://fontdeck.com

http://kernest.com

http://www.ascenderfonts.com/webfonts/

http://www.webtype.com

http://www.fontslive.com

http://www.extensis.com/en/WebINK/

http://webfonts.fonts.com

http://webfonts.info/wiki/index.php?title=Category:Webfont_Services

Page 81: CSS3: Ripe and Ready to Respond

81

Google Font DirectoryGoogle Font Directory

http://code.google.com/webfonts

Page 82: CSS3: Ripe and Ready to Respond

82

Resources: @fontResources: @font--faceface• http://www.delicious.com/denisejacobs/

font-face

Page 83: CSS3: Ripe and Ready to Respond

83

New Visual Effects New Visual Effects in CSS3in CSS3

Page 84: CSS3: Ripe and Ready to Respond

84

New Visual Effects in CSS3New Visual Effects in CSS3• border-radius

• rgba color

• box-shadow

• text-shadow

• gradient

Page 85: CSS3: Ripe and Ready to Respond

85

borderborder--radiusradius

http://oh-hai.biz

Page 86: CSS3: Ripe and Ready to Respond

86

OldOld--skoolskool: code contortions: code contortions

Page 87: CSS3: Ripe and Ready to Respond

87

borderborder--radiusradius• Tips & issues

– Different syntax for mozilla, webkit, and opera browsers

• Browser Support

– IE lt 8 does not support, IE9 does

Page 88: CSS3: Ripe and Ready to Respond

88

borderborder--radiusradius

Syntax comparison breakdown:

• -moz allows multiple values for each position

• -webkit individual values

• Standard is like mozilla

Page 89: CSS3: Ripe and Ready to Respond

89

borderborder--radiusradius

#contentcolumn {-moz-border-radius: 20px 20px 0 0;-webkit-border-top-left-radius: 20px;-webkit-border-top-right-radius: 20px;border-radius: 20px 20px 0 0;}

Page 90: CSS3: Ripe and Ready to Respond

90

BorderBorder--radius.comradius.com

Page 91: CSS3: Ripe and Ready to Respond

91

borderborder--radius Resourcesradius Resourceshttp://www.delicious.com/denisejacobs/

border-radius

Page 92: CSS3: Ripe and Ready to Respond

92

rgbargba

http://aarronwalter.com/designer/

Page 93: CSS3: Ripe and Ready to Respond

93

rgbargba• Tips & issues

– More granular control of the color opacity of a particular element

• Browser Support

– IE lt 8 does not support, IE9 does

– There is an IE filter that will give transparency with a color.

Page 94: CSS3: Ripe and Ready to Respond

94

CrossCross--browser: browser: rgbargba• Place after regular rgb color property to

override in modern browsers; older browsers will ignore it

• IE lt 8 bug: use the property backgroundinstead of background-color for the regular color

Page 95: CSS3: Ripe and Ready to Respond

95

Full solution: Full solution: rgbargba.rgba {background-color: #ff0000;

/* fallback color in hexidecimal. */background-color: transparent; /* transparent

is key for the filter to work in IE8. best done through conditional comments */

background-color: rgba(255, 0, 0, 0.3);-ms-filter:

"progid:DXImageTransform.Microsoft.gradient(startColorstr=#4CFF0000, endColorstr=#4CFF0000)";

/* filter for IE8 */filter:

progid:DXImageTransform.Microsoft.gradient(startColorstr=#4CFF0000, endColorstr=#4CFF0000);

/* filter for older IEs */}

Page 96: CSS3: Ripe and Ready to Respond

96

boxbox--shadowshadow

http://badassideas.com/work/

Page 97: CSS3: Ripe and Ready to Respond

97

boxbox--shadowshadow• Tips & issues

– Different syntax for mozilla, webkit, and opera browsers

• Browser Support– IE lt 8 does not support, IE9 does– There is a filter for IE: shadow (actually

there are 2: shadow and dropshadow, but shadow is said to be better)

Page 98: CSS3: Ripe and Ready to Respond

98

boxbox--shadowshadow.portfolio {-moz-box-shadow: 0 5px 20px rgba(0,0,0,0.6);

-webkit-box-shadow: 0 5px 20px rgba(0,0,0,0.6);

box-shadow: 0 5px 20px rgba(0,0,0,0.6);}

Page 99: CSS3: Ripe and Ready to Respond

99

Full solution: boxFull solution: box--shadowshadow.boxshadow {-moz-box-shadow: 3px 3px 10px #333;-webkit-box-shadow: 3px 3px 10px #333;box-shadow: 3px 3px 10px #333; /*standard*/

-ms-filter: "progid:DXImageTransform.Microsoft.Shadow(Strength=4, Direction=135, Color='#333333')";

/* For IE 8 */filter: progid:DXImageTransform.Microsoft.Shadow(Strength=4, Direction=135, Color='#333333'); /* For IE 5.5 - 7 */

}

Page 100: CSS3: Ripe and Ready to Respond

100

Inspiration: boxInspiration: box--shadowshadow

http://nicolasgallagher.com/css-drop-shadows-without-images/demo/

Page 101: CSS3: Ripe and Ready to Respond

101

Resources: boxResources: box--shadowshadow

http://www.delicious.com/denisejacobs/box-shadow

Page 102: CSS3: Ripe and Ready to Respond

102

texttext--shadowshadow

http://www.bountybev.com

Page 103: CSS3: Ripe and Ready to Respond

103

texttext--shadowshadow

• Tips & issues

– Can help accentuate text and improve readability and visual importance

• Browser Support

– IE lt 8 does not support, nor does IE9 :/

– could use the IE filter: shadow

Page 104: CSS3: Ripe and Ready to Respond

104

Full solution: textFull solution: text--shadowshadow

.textshadow h2 {text-shadow:1px 1px 2px rgba(48,80,82,0.8);-ms-filter: "progid:DXImageTransform.Microsoft.Shadow(Strength=2, Direction=135, Color='#305052')";

/* For IE 8+ */filter: progid:DXImageTransform.Microsoft.Shadow(Strength=2, Direction=135, Color='#305052');

/* For IE 5.5 - 7 */}

Page 105: CSS3: Ripe and Ready to Respond

105

Inspiration: text shadowInspiration: text shadow

http://www.midwinter-dg.com/blog_demos/css-text-shadows/

Page 106: CSS3: Ripe and Ready to Respond

106

Inspiration: text shadowInspiration: text shadow

http://desandro.com/articles/the-new-lens-flare/

Page 107: CSS3: Ripe and Ready to Respond

107

Resources: textResources: text--shadowshadowhttp://www.delicious.com/denisejacobs/

text-shadow

Page 108: CSS3: Ripe and Ready to Respond

108

gradientgradient

http://raymondjay.com/

Page 109: CSS3: Ripe and Ready to Respond

109

Old Old skoolskool: Gradient background: Gradient background

Page 110: CSS3: Ripe and Ready to Respond

110

gradientgradient• Tips & issues

– Very different syntax for mozilla and webkit browsers previously

– Newer syntax for current and future browsers

• Browser Support– IE does not support, so will still need a

fallback image for those browsers

Page 111: CSS3: Ripe and Ready to Respond

111

#mainnav li a {background-color: #f7f6f4; background-image: url(bg_navitems.gif); background-image: -moz-linear-gradient(100% 100% 90deg, #ccc9ba, #ffffff);

background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#ffffff), to(#ccc9ba));

}

gradientgradient

Page 112: CSS3: Ripe and Ready to Respond

112

gradient: Full solutiongradient: Full solution.gradient {color: #fff;background: #aaaaaa url(gradient_slice.jpg) 0 0

x-repeat; /*background color matches one of the stop colors. The gradient_slice.jpg is 1px wide */

background-image: -moz-linear-gradient(top, #07407c, #aaaaaa);

background-image: -webkit-gradient(linear,lefttop,left bottom,color-stop(0, #07407c),color-stop(1, #aaaaaa));

-ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorStr='#07407c', EndColorStr='#aaaaaa')";/* IE8+ */

filter: progid:DXImageTransform.Microsoft.gradient(startColorStr='#07407c', EndColorStr='#aaaaaa'); /* IE7- */

}

Page 113: CSS3: Ripe and Ready to Respond

113

ColorzillaColorzilla gradient toolgradient tool

http://www.colorzilla.com/gradient-editor/

Page 114: CSS3: Ripe and Ready to Respond

114

Inspiration: gradientsInspiration: gradients

http://leaverou.me/css3patterns/

Page 115: CSS3: Ripe and Ready to Respond

115

Inspiration: gradientsInspiration: gradients

http://leaverou.me/2011/03/beveled-corners-negative-border-radius-with-css3-gradients/

Page 116: CSS3: Ripe and Ready to Respond

116

Tools: gradientTools: gradienthttp://www.colorzilla.com/gradient-editor/

http://www.westciv.com/tools/gradients/

http://css3please.com

http://css3generator.com

Page 117: CSS3: Ripe and Ready to Respond

117

Resources: gradientResources: gradienthttp://www.delicious.com/denisejacobs/

gradient

Page 118: CSS3: Ripe and Ready to Respond

118

Advanced Visual Advanced Visual Effects in CSS3Effects in CSS3

Page 119: CSS3: Ripe and Ready to Respond

119

CSS3 for Advanced Visual PresentationCSS3 for Advanced Visual Presentation1. border-image

2. multiple background images

3. background-size

4. multiple text columns

Page 120: CSS3: Ripe and Ready to Respond

120

borderborder--imageimage

http://www.spoongraphics.com/blog/

Page 121: CSS3: Ripe and Ready to Respond

121

borderborder--imageimageBorders can now be created using images

and sections thereof for enhanced visual design.

• Tips & issues– Documentation on best use is sparse– No adequate fall-back techniques for graceful

degradation– Vendor prefixes for Mozilla and webkit

• Browser support– The IEs do not support

Page 122: CSS3: Ripe and Ready to Respond

122

borderborder--imageimagediv.note div.border {-moz-border-image: url(/playground/awesome-overlays/border-image.png) 5 5 5 5 stretch; -webkit-border-image: url(/playground/awesome-overlays/border-image.png) 5 5 5 5 stretch; border-image: url(/playground/awesome-overlays/border-image.png) 5 5 5 5 stretch; }

Page 123: CSS3: Ripe and Ready to Respond

123

BorderBorder--image.comimage.com

Page 124: CSS3: Ripe and Ready to Respond

124

Resources: borderResources: border--imageimagehttp://www.delicious.com/denisejacobs/

border-image

Page 125: CSS3: Ripe and Ready to Respond

125

Multiple backgroundsMultiple backgrounds

http://www.lostworldsfairs.com

Page 126: CSS3: Ripe and Ready to Respond

126

Multiple backgroundsMultiple backgrounds• Tips & issues:

– The backgrounds are shown according to the order listed, with the first background image listed is the one “on top” and the rest stack underneath it.

– Can use CSS3 gradients (which are like background images) in conjunction with multiple background images.

• Browser support:

– IE lt 8 does not support, but IE9 does

Page 127: CSS3: Ripe and Ready to Respond

127

Multiple backgroundsMultiple backgroundsbody {background-color: #5ABBCF;background: #5ABBCF url(../images/bokeh1.png) no-

repeat; /* fallback image */background: url(../images/bokeh4.png) no-repeat,

url(../images/bokeh3.png) no-repeat 10% 0, url(../images/bokeh2.png) no-repeat 20% 0, url(../images/bokeh1.png) no-repeat, url(../images/glow.png) no-repeat 90% 0, -moz-linear-gradient(0% 90% 90deg,#5ABBCF, #95E0EF);

background: url(../images/bokeh4.png) no-repeat, url(../images/bokeh3.png) no-repeat 10% 0, url(../images/bokeh2.png) no-repeat 20% 0, url(../images/bokeh1.png) no-repeat, url(../images/glow.png) no-repeat 90% 0, -webkit-gradient(linear, 0% 0%, 0% 90%, from(#95E0EF), to(#5ABBCF));

}

Page 128: CSS3: Ripe and Ready to Respond

128

Resources: multiple backgroundsResources: multiple backgroundshttp://www.delicious.com/denisejacobs/

multiplebackgrounds

Page 129: CSS3: Ripe and Ready to Respond

129

backgroundbackground--sizesize

http://www.alistapart.com/articles/supersize-that-background-please/

Page 130: CSS3: Ripe and Ready to Respond

130

backgroundbackground--sizesizeYou can set the size of a background image and

make sure it covers the entire background of a page, no matter what the size.

• Tips & Issues:

– Vendor prefixes for mozilla, webkit, and opera

• Browser support:

– IE lt 8 does not support, but IE9 does

Page 131: CSS3: Ripe and Ready to Respond

131

backgroundbackground--sizesizeExample:body { background: #000 url(myBackground_1280x960.jpg) center center fixed no-repeat;-moz-background-size: cover;-webkit-background-size: cover; -o-background-size: cover; background-size: cover;

}

Page 132: CSS3: Ripe and Ready to Respond

132

Inspiration: backgroundInspiration: background--sizesize

Launchrock.com

Page 133: CSS3: Ripe and Ready to Respond

133

Resources: backgroundResources: background--sizesize• http://www.delicious.com/denisejacobs/

backgroundsize

• http://www.alistapart.com/articles/supersize-that-background-please/

• http://www.w3.org/TR/css3-background/#the-background-size

Page 134: CSS3: Ripe and Ready to Respond

134

Multiple text columnsMultiple text columns

http://www.yaili.com

Page 135: CSS3: Ripe and Ready to Respond

135

Multiple text columnsMultiple text columnsYou can have one div containing a number of

paragraphs which can be displayed in columns, with no float or height manipulations.

• Tips & Issues:

– Some of the properties are not widely supported, and many of the related (like dividers, breakers, etc.) haven’t been implemented or aren’t supported yet either.

Page 136: CSS3: Ripe and Ready to Respond

136

Multiple text columnsMultiple text columnsExample:div.three-col {-webkit-column-count: 3;-webkit-column-gap: 15px;-moz-column-count: 3;-moz-column-gap: 15px;column-count: 3;column-gap: 15px;}

Page 137: CSS3: Ripe and Ready to Respond

137

Resources: multiple columnsResources: multiple columnshttp://www.delicious.com/denisejacobs/

multiplecolumns

Page 138: CSS3: Ripe and Ready to Respond

138

2d Transformations 2d Transformations with CSS3with CSS3

Page 139: CSS3: Ripe and Ready to Respond

139

transform (2d)transform (2d)

http://www.zurb.com/playground/css3-polaroids/

Page 140: CSS3: Ripe and Ready to Respond

140

transformtransform• Tips & issues

– Mozilla, Webkit, and Opera vendor prefixes; no standard yet.

• Browser Support

– IE lt 8 does not support, but IE9 does

Page 141: CSS3: Ripe and Ready to Respond

141

2D Transformations2D TransformationsDifferent kinds of transforms:

• rotate

• scale

• skew

• translate

• matrix

Page 142: CSS3: Ripe and Ready to Respond

142

transform/rotate: full solutiontransform/rotate: full solution.rotate {-moz-transform: rotate(-5deg); -webkit-transform: rotate(-5deg);-o-transform: rotate(-5deg); transform: rotate(-5deg); filter:

progid:DXImageTransform.Microsoft.Matrix(sizingMethod='auto expand', M11=0.9961946980917455, M12=0.08715574274765817, M21=-0.08715574274765817, M22=0.9961946980917455);

-ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=0.9961946980917455, M12=0.08715574274765817, M21=-0.08715574274765817, M22=0.9961946980917455, sizingMethod='auto expand')";

zoom: 1;}

Page 143: CSS3: Ripe and Ready to Respond

143

transform: multipletransform: multipleYou can apply multiple transform properties to one element.

Example:.enlargen:hover {-webkit-transform: translate(-50%, -50%) scale(2)

rotate(0);-moz-transform: translate(-50%, -50%) scale(2)

rotate(0);-o-transform: translate(-50%, -50%) scale(2)

rotate(0);transform: translate(-50%, -50%) scale(2)

rotate(0);}

Page 144: CSS3: Ripe and Ready to Respond

144

Resources: 2D transformsResources: 2D transformshttp://www.delicious.com/denisejacobs/

transform

Page 145: CSS3: Ripe and Ready to Respond

145

Animation with Animation with CSS3CSS3

Page 146: CSS3: Ripe and Ready to Respond

146

AnimationAnimation1. transitions

2. animation (the webkits only)

A Tip:

Be subtle – it’s more effective

Page 147: CSS3: Ripe and Ready to Respond

147

Old Old skooolskoool: Flash: Flash

Page 148: CSS3: Ripe and Ready to Respond

148

transitiontransition

http://timvandamme.com/

Page 149: CSS3: Ripe and Ready to Respond

149

transitiontransitionYou can create subtle transitions between

hover states on elements. The transitions smooth out visual jumps.

• Tips & issues– Be sure to put the transition effect on the

correct element

Page 150: CSS3: Ripe and Ready to Respond

150

transitiontransitionExample:

#id_of_element {-webkit-transition: all 1s ease-in-out;-moz-transition: all 1s ease-in-out;-o-transition: all 1s ease-in-out;transition: all 1s ease-in-out;}

Page 151: CSS3: Ripe and Ready to Respond

151

AnimationAnimation

http://www.css3exp.com/moon/

Page 152: CSS3: Ripe and Ready to Respond

152

AnimationAnimationYou can create subtle animations in the

browser!

• Tips & issues:– Plan out the animation sequence ahead of

time

– Be aware of style order in the CSS

Page 153: CSS3: Ripe and Ready to Respond

153

AnimationAnimationdiv { animation-name: diagonal-slide; animation-duration: 5s; animation-iteration-count: 10; }

@keyframes diagonal-slide { from { left: 0; top: 0; } to { left: 100px; top: 100px; } }

Page 154: CSS3: Ripe and Ready to Respond

154

Resources: AnimationResources: Animationhttp://www.delicious.com/denisejacobs/

animation

Page 155: CSS3: Ripe and Ready to Respond

155

CSS3 SelectorsCSS3 Selectors

http://www.flickr.com/photos/jamiecampbell/446301597/

Page 156: CSS3: Ripe and Ready to Respond

156

Getting AdvancedGetting AdvancedAdvanced selectors are a good way to specifically target styles for modern browsers.

The right selector will help you achieve targeting nirvana, so it’s important to know which selectors you can use now.

Page 157: CSS3: Ripe and Ready to Respond

157

CSS3 SelectorsCSS3 SelectorsAdvanced selectors give us the power to

target elements that are not part of the document tree and/or those that are generated dynamically.

• Tips & issues– There are a lot of options to choose from!

– Great to use for progressive enhancement

– Need to be aware of changes to specificity

Page 158: CSS3: Ripe and Ready to Respond

158

CSS3 Selector SpecificationCSS3 Selector Specification• General sibling

E ~ F

• Attribute substrings– a[attribute^="value"]

– a[attribute$="value"]

– a[attribute*="value"]

• Pseudo-elementsno new ones, all pseudo-elements in CSS3 indicated with ::

• Pseudo-classes

– Target• :target

– Negation• :not(s)

– State• :enabled

• :disabled

• :checked

• :indeterminate

Page 159: CSS3: Ripe and Ready to Respond

159

CSS3 SelectorsCSS3 Selectors– Structural

• :nth-child(n)• :nth-last-child(n)• :nth-of-type(n)• :nth-last-of-type(n)• :last-child• :first-of-type• :last-of-type• :only-child • :only-of-type• :empty• :root

Page 160: CSS3: Ripe and Ready to Respond

160

Uses for advanced selectorsUses for advanced selectors• Great for progressive enhancement

• Styling first, last or x-number of elements

Page 161: CSS3: Ripe and Ready to Respond

161

Old Old skoolskool: zebra striping: zebra striping

Page 162: CSS3: Ripe and Ready to Respond

162

With structural pseudoWith structural pseudo--elementselementsThe keywords odd and even can be used to match

child elements whose index is odd or even. The index of an element’s first child is 1, so this rule will match any p element that is the first, third, fifth, and so on, child of its parent element.

An argument, can is placed within the parentheses, as a number, a keyword, or a formula.

A formula an + b can be used to create more complex repeating patterns. In the formula, a represents a cycle size, n is a counter starting at 0, and b represents an offset value. All values are integers.

Page 163: CSS3: Ripe and Ready to Respond

163

Nth child selector testerNth child selector tester

http://leaverou.me/demos/nth.html

Page 164: CSS3: Ripe and Ready to Respond

164

CSS3 Selector SupportCSS3 Selector Support

http://www.findmebyip.com/litmus

Page 165: CSS3: Ripe and Ready to Respond

165

Tools: CSS3 SelectorsTools: CSS3 Selectors• http://www.quirksmode.org/

compatibility.html

• http://www.evotech.net/blog/2009/02/css-browser-support/

• http://www.findmebyip.com/litmus

Page 166: CSS3: Ripe and Ready to Respond

166

CSS3 Selector Helper ScriptCSS3 Selector Helper Script

http://www.selectivizr.com

Page 167: CSS3: Ripe and Ready to Respond

167

Resources: CSS3 SelectorsResources: CSS3 Selectors• http://www.delicious.com/denisejacobs/se

lectors+css3

• http://inspectelement.com/tutorials/a-look-at-some-of-the-new-selectors-introduced-in-css3/

• http://24ways.org/2009/cleaner-code-with-css3-selectors

Page 168: CSS3: Ripe and Ready to Respond

168

Tools: CSS3 SelectorsTools: CSS3 Selectors• http://www.quirksmode.org/

compatibility.html

• http://www.findmebyip.com/litmus

Page 169: CSS3: Ripe and Ready to Respond

169

Resources: CSS3 SelectorsResources: CSS3 Selectors• http://www.delicious.com/denisejacobs/

selectors+css3

• http://inspectelement.com/tutorials/a-look-at-some-of-the-new-selectors-introduced-in-css3/

• http://24ways.org/2009/cleaner-code-with-css3-selectors

Page 170: CSS3: Ripe and Ready to Respond

170

Becoming Becoming Responsive Responsive

http://mediaqueri.es/

Page 171: CSS3: Ripe and Ready to Respond

171

Responsive Devices?Responsive Devices?

http://www.flickr.com/photos/ivyfield/4486938457/

Page 172: CSS3: Ripe and Ready to Respond

172

Responsive Devices!Responsive Devices!

http://www.flickr.com/photos/ivyfield/4486938457/

Page 173: CSS3: Ripe and Ready to Respond

173

Brain shiftBrain shift

Page 174: CSS3: Ripe and Ready to Respond

174

Mobile firstMobile first

Page 175: CSS3: Ripe and Ready to Respond

175

Avoid thisAvoid this

desktop stylesheet + media queries

= mobile site

Page 176: CSS3: Ripe and Ready to Respond

176

==““SwitchySwitchy”” layoutlayout

http://www.slideshare.net/bryanrieger/rethinking-the-mobile-web-by-yiibu

Page 177: CSS3: Ripe and Ready to Respond

177

Instead thisInstead this

mobile stylesheet + media queries

= desktop site

Page 178: CSS3: Ripe and Ready to Respond

178

== Truly responsiveTruly responsive

http://ri.gov

Page 179: CSS3: Ripe and Ready to Respond

179

WhatWhat’’s the difference?s the difference?

Page 180: CSS3: Ripe and Ready to Respond

180

3 components3 components

Page 181: CSS3: Ripe and Ready to Respond

181

1) Flexible grid1) Flexible grid

Page 182: CSS3: Ripe and Ready to Respond

182

Flexible & FluidFlexible & Fluid• Size everything in ems or percentages

• Flexible: Ems for everything

• Fluid: Percentages for width, ems for height

Page 183: CSS3: Ripe and Ready to Respond

183

Various gridsVarious grids• http://delicious.com/denisejacobs/grid

Page 184: CSS3: Ripe and Ready to Respond

184

2) Flexible images2) Flexible images

Page 185: CSS3: Ripe and Ready to Respond

185

Flexible Images: ForegroundFlexible Images: Foregroundimg {width: 100%;

max-width: 100%;}

Page 186: CSS3: Ripe and Ready to Respond

186

Responsive foreground imagesResponsive foreground images

https://github.com/filamentgroup/Responsive-Images

Page 187: CSS3: Ripe and Ready to Respond

187

Flexible Images: BackgroundFlexible Images: BackgroundUse background-position to selectively crop

your backgrounds

Page 188: CSS3: Ripe and Ready to Respond

188

3) @media queries3) @media queries

Page 189: CSS3: Ripe and Ready to Respond

189

@media queries@media queries@media queries are now being used as a

basis for responsive web design: web interfaces that change with the size (and orientation) of the device.

Page 190: CSS3: Ripe and Ready to Respond

190

How do they work?How do they work?Through media queries, the browser is served

different styles or stylesheets based on the dimensions and the device.

The @media construct allows style sheet rules for various media in the same style sheet.

An @media rule specifies the target media types (separated by commas) of a set of statements (delimited by curly braces).

Page 191: CSS3: Ripe and Ready to Respond

191

Simple @media rule examplesSimple @media rule examples@media print {

body { font-size: 10pt }}

@media screen {body { font-size: 13px }

}

@media screen, print {body { line-height: 1.2 }

}

Page 192: CSS3: Ripe and Ready to Respond

192

@media queries@media queriesExample:/* Smartphones (portrait and landscape) ----------- */

@media only screen and (min-device-width : 320px) and (max-device-width : 480px) { /* Styles */

}

Page 193: CSS3: Ripe and Ready to Respond

193

@media queries: Browser compatibility @media queries: Browser compatibility

Yep

• IE 9

• Opera 9.5+

• Opera Mobile

• Safari 3+

• Firefox 3.5+

• Chrome

Nope

• IE 8, 7, 6

• Safari 2

• Firefox 1, 2

Page 194: CSS3: Ripe and Ready to Respond

194

Css3Css3--mediaqueries.jsmediaqueries.js

http://code.google.com/p/css3-mediaqueries-js/

Page 195: CSS3: Ripe and Ready to Respond

195

Responsive design inspirationResponsive design inspiration

Mediaqueri.es

Page 196: CSS3: Ripe and Ready to Respond

196

Resources: @media queriesResources: @media queries• http://www.delicious.com/denisejacobs/

media-queries

Page 197: CSS3: Ripe and Ready to Respond

197

5 Steps5 Steps

Page 198: CSS3: Ripe and Ready to Respond

198

1) Plan the 1) Plan the design(sdesign(s))

http://jeremypalford.com/arch-journal/responsive-web-design-sketch-sheets

Page 199: CSS3: Ripe and Ready to Respond

199

Plan the Plan the design(sdesign(s))• Need to plan out 3-4 iterations of a page

design for each resolution/device instead of just one

Page 200: CSS3: Ripe and Ready to Respond

200

CalculateCalculate

Page 201: CSS3: Ripe and Ready to Respond

201

CalculateCalculate• You need to know dimensions of page

elements to be able to calculate proportional relationship of size and margins

• The Golden Formula:

target ÷ context= result

Page 202: CSS3: Ripe and Ready to Respond

202

Target, context, and resultsTarget, context, and results

Page 203: CSS3: Ripe and Ready to Respond

203

3) Determine the breaking points3) Determine the breaking points

http://www.slideshare.net/yiibu/pragmatic-responsive-design

Page 204: CSS3: Ripe and Ready to Respond

204

Some standard sizes to shoot forSome standard sizes to shoot for• 320 px: smart phones in portrait mode

• 480 px: smart phones in landscape mode

• 600 px: smaller tablets like the Kindle (600 x 800) or Nook (600 x 1024)

• 768 px: tablet in portrait

• 1024 px: tablet in landscape and netbooks

• 1200 px: low end for widescreen displays

• 1600 px: widescreen displays

Page 205: CSS3: Ripe and Ready to Respond

205

4) Add media queries4) Add media queries

Page 206: CSS3: Ripe and Ready to Respond

206

HardboiledHardboiled’’ss @media queries: Smartphone@media queries: Smartphone/* Smartphones (portrait and landscape) ----------- */@media only screen and (min-device-width : 320px) and (max-device-width : 480px) {/* Styles */}

/* Smartphones (landscape) ----------- */@media only screen and (min-width : 321px) {/* Styles */}

/* Smartphones (portrait) ----------- */@media only screen and (max-width : 320px) {/* Styles */}

http://stuffandnonsense.co.uk/blog/about/hardboiled_css3_media_queries/

Page 207: CSS3: Ripe and Ready to Respond

207

HardboiledHardboiled’’ss @media queries: @media queries: iPadiPad/* iPads (portrait and landscape) ----------- */@media only screen and (min-device-width : 768px) and (max-device-width : 1024px) {/* Styles */}

/* iPads (landscape) ----------- */@media only screen and (min-device-width : 768px) and (max-device-width : 1024px) and (orientation : landscape) {/* Styles */}

/* iPads (portrait) ----------- */@media only screen and (min-device-width : 768px) and (max-device-width : 1024px) and (orientation : portrait) {/* Styles */}

http://stuffandnonsense.co.uk/blog/about/hardboiled_css3_media_queries/

Page 208: CSS3: Ripe and Ready to Respond

208

HardboiledHardboiled’’ss @media queries: Other@media queries: Other/* Desktops and laptops ----------- */@media only screen and (min-width : 1224px) {/* Styles */}

/* Large screens ----------- */@media only screen and (min-width : 1824px) {/* Styles */}

/* iPhone 4 ----------- */@mediaonly screen and (-webkit-min-device-pixel-ratio : 1.5),only screen and (min-device-pixel-ratio : 1.5) {/* Styles */}

http://stuffandnonsense.co.uk/blog/about/hardboiled_css3_media_queries/

Page 209: CSS3: Ripe and Ready to Respond

209

5) Test & Tweak5) Test & Tweak

Page 210: CSS3: Ripe and Ready to Respond

210

Testing, testing, 1Testing, testing, 1--22--33• Get the design to code and prototype as

soon as possible

• Test breaking points

• Make adjustments

Page 211: CSS3: Ripe and Ready to Respond

211

VoilVoilàà!!

Page 212: CSS3: Ripe and Ready to Respond

212

The End?The End?

http://www.flickr.com/photos/ilike/3707503212/

Page 213: CSS3: Ripe and Ready to Respond

213

TodayToday

Page 214: CSS3: Ripe and Ready to Respond

214

Put yourself intoPut yourself into

Page 215: CSS3: Ripe and Ready to Respond

215

TomorrowTomorrow

Page 216: CSS3: Ripe and Ready to Respond

216

This is just the beginning!This is just the beginning!

My Delicious links are HUGE compendia of all things related to CSS3, updated as I find new articles, resources and tools!

http://delicious.com/denisejacobs/css3

http://delicious.com/denisejacobs/

css3training

Page 217: CSS3: Ripe and Ready to Respond

217

ArticleArticle--lationslations

Page 218: CSS3: Ripe and Ready to Respond

218

On On Netmagzine.comNetmagzine.com

http://www.netmagazine.com/features/21-top-tools-responsive-web-design

http://www.netmagazine.com/features/top-10-css3-techniques

Page 219: CSS3: Ripe and Ready to Respond

219

A library of A library of resourcesresources

http://upload.wikimedia.org/wikipedia/commons/e/e2/New_York_State_Library_1900.jpg

Page 220: CSS3: Ripe and Ready to Respond

220

CSS3, hot off the presses!CSS3, hot off the presses!

The Book of CSS3by Peter Gasston

Page 221: CSS3: Ripe and Ready to Respond

221

ProjectProject--based CSS3based CSS3

Stunning CSS3by Zoe Mikely Gillenwater

Page 222: CSS3: Ripe and Ready to Respond

222

CSS3 Condensed and ExplainedCSS3 Condensed and Explained

CSS3 For Web Designersby Dan Cederholm

Page 223: CSS3: Ripe and Ready to Respond

223

TheThe book on Responsive Web Designbook on Responsive Web Design

Responsive Web Designby Ethan Marcotte

Page 224: CSS3: Ripe and Ready to Respond

224

CSS3 and Media QueriesCSS3 and Media Queries

Hardboiled Web Designby Andy Clarke

Page 225: CSS3: Ripe and Ready to Respond

225

Flexible LayoutsFlexible Layouts

Flexible Web Designby Zoe Mickley Gillenwater

Page 226: CSS3: Ripe and Ready to Respond

226

Proactive coding & graceful degradationProactive coding & graceful degradation

CssDetectiveGuide.com

Page 227: CSS3: Ripe and Ready to Respond

227

Holistic Web DesignHolistic Web Design

Interact with Web Standards: A Holistic Approach to Web Design

Page 228: CSS3: Ripe and Ready to Respond

228

Where to find me:Where to find me:

DeniseJacobs.com

[email protected]

twitter.com/denisejacobs

slideshare.net/denisejacobs

Text 50500 denisejacobs

Page 229: CSS3: Ripe and Ready to Respond

229

Want a business card?Want a business card?

Text 50500 denisejacobs

Page 230: CSS3: Ripe and Ready to Respond

230 http://www.flickr.com/photos/27620885@N02/2609974180/

Thank you!Thank you!