the graceful degradation of css3

155
Denise R. Jacobs PapillonEffect Consulting BBC London November 2010 It’s Business Time: Gettin’ Down With the Graceful Degradation of CSS3

Post on 18-Oct-2014

4.045 views

Category:

Technology


0 download

DESCRIPTION

Everyone is falling in love with CSS3, and no small wonder. Learn how to use popular CSS3 properties of the future while respecting the browsers of the past.

TRANSCRIPT

Page 1: The Graceful Degradation of CSS3

Denise R. JacobsPapillonEffect Consulting 

BBC LondonNovember 2010

It’s Business Time:Gettin’ Down With the Graceful Degradation of CSS3

Page 2: The Graceful Degradation of CSS3

Meet your presenter

CSSDetectiveGuide.com & InterActWithWebStandards.com

1969 2010

Page 3: The Graceful Degradation of CSS3

On CSS3

Page 4: The Graceful Degradation of CSS3

The love affair with CSS3 continues to grow stronger and more passionate over time

http://www.flickr.com/photos/victoriapeckham/2091704802/

Page 5: The Graceful Degradation of CSS3

What’s not to love?

Easier implementation of visual effects

Effects that enhance the user experience

http://www.flickr.com/photos/shibanidutta/4115390982/

Page 6: The Graceful Degradation of CSS3

Past =

Page 7: The Graceful Degradation of CSS3

Contortions

Page 8: The Graceful Degradation of CSS3

Present =

Page 9: The Graceful Degradation of CSS3

Ease

Page 10: The Graceful Degradation of CSS3
Page 11: The Graceful Degradation of CSS3

As with many seemingly perfect romances, there are issues…

http://www.flickr.com/photos/cybervin/266632074/

Page 12: The Graceful Degradation of CSS3

Relationship Status:

It’s Complicated

Page 13: The Graceful Degradation of CSS3

Still a working draft +

Page 14: The Graceful Degradation of CSS3

Uneven browser support +

Page 15: The Graceful Degradation of CSS3

Does not validate +

Page 16: The Graceful Degradation of CSS3

Code bloatIdeally: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 15px 20px

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 17: The Graceful Degradation of CSS3

= Oh My!

Page 18: The Graceful Degradation of CSS3

Despite our most fervent prayers

Page 19: The Graceful Degradation of CSS3

Many users are still using older browsers

Page 20: The Graceful Degradation of CSS3

Either by force

Page 21: The Graceful Degradation of CSS3

Or by choice

Page 22: The Graceful Degradation of CSS3

“Do websites need to look

exactly the same in every

browser?”

Page 23: The Graceful Degradation of CSS3
Page 24: The Graceful Degradation of CSS3
Page 25: The Graceful Degradation of CSS3

While looks aren’t

everything

Page 26: The Graceful Degradation of CSS3

They do shape user perception and experience

Page 27: The Graceful Degradation of CSS3

Happy end users

Page 28: The Graceful Degradation of CSS3

Facilitating compatibility

Page 29: The Graceful Degradation of CSS3

CSS3 Graceful Degradation:The Necessities

Page 30: The Graceful Degradation of CSS3

So, which is better,Graceful Degradation or Progressive Enhancement?

Page 31: The Graceful Degradation of CSS3

* Please *

Page 32: The Graceful Degradation of CSS3

Sites need be usable and look good to as many people as

possible.

Period.

Page 33: The Graceful Degradation of CSS3

What’s in a name?

“Progressful Degrahancement”(coined by M. Jackson Wilkinson and Jason Garber)

“Graceful Reverse Degradation”(coined by me)

Page 34: The Graceful Degradation of CSS3

The end result: most important

Page 35: The Graceful Degradation of CSS3

Tools

Page 36: The Graceful Degradation of CSS3

CSS3 Specifications

The CSS3 Specifications are THE resource for finding out the exact intended 

behavior and use of any given property.

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

Page 37: The Graceful Degradation of CSS3

Browser Support Charts

http://www.findmebyip.com/litmus

Page 38: The Graceful Degradation of CSS3

Cross-Browser Testers

http://tredosoft.com/Multiple_IE

http://crossbrowsertesting.com/(paid)

http://browsershots.org/(free)

Page 39: The Graceful Degradation of CSS3

Techniques

Page 40: The Graceful Degradation of CSS3

The GoalCode that displays well in all browsers

Page 41: The Graceful Degradation of CSS3

…However,Many properties are browser‐specific, requiring vendor prefixesAnd there is a standard propertyThere are syntax differences between browser‐specific properties and the standard propertyAll of this causes an increase in the amount of CSSOlder IEs don’t support CSS3 – need either filters or helper scripts

Page 42: The Graceful Degradation of CSS3

Getting as close as possible

1. (Re)set the mood2. Leverage source order3. Be conditional4. Use a filter5. Add tools to the mix6. Be proactively defensive

Page 43: The Graceful Degradation of CSS3

(Re)set the MoodA CSS reset insures that you are starting from a common base point in all browsers.

Example:html, body, div, span, applet, object, iframe, h1, h2,

h3, h4, h5, h6, p, blockquote, pre (etc){margin: 0; padding: 0; border: 0; outline: 0;font-size: 100%; vertical-align: baseline; background: transparent;

}

1.

Page 44: The Graceful Degradation of CSS3

CSS ResetsEric Meyer’s Reset: http://meyerweb.com/eric/tools/css/reset/

Article on DIY resets by Jason Cranford Teague: http://bit.ly/1D4jSB

Page 45: The Graceful Degradation of CSS3

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 Order2.

Page 46: The Graceful Degradation of CSS3

A Proper Stack.gradient {color: #fff;

Page 47: The Graceful Degradation of CSS3

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

/*fallback background color & image*/

Page 48: The Graceful Degradation of CSS3

A 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 49: The Graceful Degradation of CSS3

A 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 50: The Graceful Degradation of CSS3

A 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 51: The Graceful Degradation of CSS3

A 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 52: The Graceful Degradation of CSS3

Establish Conditions<!--[if gte IE 6]><link href="ie_stylesheet.css" rel="stylesheet">

<![endif]-->

(place after the regular stylesheet link to override styles)

3.

Page 53: The Graceful Degradation of CSS3

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

{Caveat Coder}IE filters work, but are essentially hacks– IE filters are proprietary and thus not part of any standard specification, and never will be

Apply a Filter4.

Page 54: The Graceful Degradation of CSS3

Filter extensionsThe -ms-filter attribute is an extension to CSS for IE8 and above. 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. 

Page 55: The Graceful Degradation of CSS3

Filter extension syntaxFor IE8+, not only must filters be prefixed with "‐ms‐" , but the PROGID must be in single or double quotes to make sure the browsers render the filters properly.

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

Page 56: The Graceful Degradation of CSS3

Get Script HelpThere are several scripts, javascript libraries, and jquery scripts and plugins that will help older browsers mimic modern ones.

5.

Page 57: The Graceful Degradation of CSS3

Ie-7.js

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

Page 58: The Graceful Degradation of CSS3

CSS3Pie.com

Page 59: The Graceful Degradation of CSS3

CSS Sandpaper

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

Page 60: The Graceful Degradation of CSS3

Be ProactiveDefensive coding for older browsers helps you to quickly and easily identify and solve problems when they come up 

Organize for easy reading and access

Optimize for loading speed

Build in bug fixes

6.

Page 61: The Graceful Degradation of CSS3

The “Special” Relationship:Dealing with the IEs

Page 62: The Graceful Degradation of CSS3

The older IEs DO NOT support CSS3

…as in “at all.” Right. Enough said.

6 7 8

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

Page 63: The Graceful Degradation of CSS3

9

Initial reports of IE9 support of CSS3

Page 64: The Graceful Degradation of CSS3

The reality

Page 65: The Graceful Degradation of CSS3

Dealing with IE6 (Still? Yes, still.)

Approaches:

Kick it to the curb

Exercise tolerance

Full Respect: show grace in degradation

Page 66: The Graceful Degradation of CSS3

IE6: Go home!

http://www.flickr.com/photos/robotjohnny/3629069606/

Page 67: The Graceful Degradation of CSS3

Having “the talk”

In IE6In modern browsers

paulcarbo.net

Page 68: The Graceful Degradation of CSS3

Serve some stripped-down style

makephotoshopfaster.com

In IE6In modern browsers

Page 69: The Graceful Degradation of CSS3

Resource: Universal IE CSS

Universal IE6 stylesheet: http://code.google.com/p/universal-ie6-css/

Page 70: The Graceful Degradation of CSS3

Make a helpful suggestion

http://yaronschoen.com/blog/sudden_metanoia

In IE6In modern browsers

Page 71: The Graceful Degradation of CSS3

Resource: BrowseSad.org

browsesad.org

Page 72: The Graceful Degradation of CSS3

Limit Your Support

gowalla.com

Page 73: The Graceful Degradation of CSS3

Showing a little extra

Love.

Page 74: The Graceful Degradation of CSS3

Respectful, yet graceful

aposd.org

In IE6In modern browsers

Page 75: The Graceful Degradation of CSS3

Let’s Get It On

Page 76: The Graceful Degradation of CSS3

8 CSS3 Properties with Graceful Degradation

Fallbacks

Page 77: The Graceful Degradation of CSS3

The Properties

1. @font‐face

2. border‐radius

3. opacity

4. rgba

5. box‐shadow

6. text‐shadow

7. gradient

8. transform

Page 78: The Graceful Degradation of CSS3

Warning: this may put you in the mood for some serious…coding

Page 79: The Graceful Degradation of CSS3

@font-face1.

Page 80: The Graceful Degradation of CSS3

http://sickdesigner.com/

@font-face1.

Page 81: The Graceful Degradation of CSS3

@font-faceNote:– Actually part of the CSS2.1 specification. 

– Therefore, the IEs do support it!

Browser Support– The older IEs require fonts to be in EOT format

– IE9 now supports WOFF (web open font face)

Page 82: The Graceful Degradation of CSS3

@font-faceTips & issues– Potential font license restrictions

– Flash of unstyled text (“fout”)

Graceful degradation– Desired font should display in all browsers. If not, fallback fonts will display

– Extra credit: image replacement through conditional comments

Page 83: The Graceful Degradation of CSS3

@font-face bug: the IEs@font-face super bullet‐proofing

The problem:@font‐face doesn’t work, even with the proper normal syntax. What gives?

The solution:Separate out the .eot call with a new @font‐face declaration.

Page 84: The Graceful Degradation of CSS3

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

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

The solution:Add the value normal to font weight, style, and variant in the @font‐face declaration to set a baseline.

Page 85: The Graceful Degradation of CSS3

Full solution: @font-face@font-face { font-family: 'Colaborate Light'; src: url('ColabLig.eot');}

@font-face { font-family: 'Colaborate Light'; src: local('☺'), url('ColabLig.woff')

format('woff'), url('ColabLig.ttf') format('truetype');

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

Page 86: The Graceful Degradation of CSS3

Full solution: @font-face@font-face { font-family: 'Colaborate Light'; src: url('ColabLig.eot');}

@font-face { font-family: 'Colaborate Light'; src: local('☺'), url('ColabLig.woff')

format('woff'), url('ColabLig.ttf') format('truetype');

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

Page 87: The Graceful Degradation of CSS3

In modern browsers In IE 8 with fallback font

Graceful degradation: @font-face

Page 88: The Graceful Degradation of CSS3

FontSquirrel.com

http://www.fontsquirrel.com/fontface

Page 89: The Graceful Degradation of CSS3

border-radius2.

Page 90: The Graceful Degradation of CSS3

border-radius2.

http://www.denisejacobs.com/cdgexamples/chapter10/

Page 91: The Graceful Degradation of CSS3

border-radiusTips & issues– Different syntax for mozilla, webkit, and opera browsers

Graceful Degradation– Square corners are okay

– Extra credit: serve images through conditional comments

Page 92: The Graceful Degradation of CSS3

border-radiusSyntax comparison breakdown:

‐moz allows multiple values for each position

‐webkit individual values

Standard is like mozilla

Page 93: The Graceful Degradation of CSS3

border-radius syntax

Page 94: The Graceful Degradation of CSS3

Full solution: border-radius#contentcolumn {

margin: -40px 3% 0 3%;width: 42%;-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 95: The Graceful Degradation of CSS3

In modern browsers In IE 7, image replacement

through conditional comments

Graceful Degradation: border-radius

Page 96: The Graceful Degradation of CSS3

Full solution: border-radiusConditional Comment:<!--[if gte IE 6]><link rel="stylesheet" type="text/css" href="ohhai_ie78.css" /><![endif]-->

IE7/8 CSS#contentcolumn {background: url(bg_content_left.png) top left no-repeat;display: inline; margin: -40px 3% 0 3%;padding: 0 0 0 0;width: 41.9%;}

#content {background: url(bg_content_right.png) top right no-repeat;margin: 7px auto 0 26px;padding: 0 0 50px 0;}

Page 97: The Graceful Degradation of CSS3

In modern browsers In IE 6, no image replacement

Graceful Degradation: border-radius

Page 98: The Graceful Degradation of CSS3

opacity3.

Page 99: The Graceful Degradation of CSS3

opacity3.

http://rustinjessen.com/weblog/833

Page 100: The Graceful Degradation of CSS3

opacityTips & issues– Do not use on elements that would cover important content

Graceful Degradation– Accept that effect will not work in non‐supportive browsers

– Could use a IE filter if absolutely necessary.

Page 101: The Graceful Degradation of CSS3

Full solution: opacity.opacity {color: #fff;background-color: #3C4C55;opacity: 0.2;-ms-filter:

"progid:DXImageTransform.Microsoft.Alpha(opacity=20)";

/* IE8 only */filter: progid:DXImageTransform.Microsoft.Alpha

(opacity=20); /* IE6, IE7, and IE8 */filter: alpha(opacity=20);}

Page 102: The Graceful Degradation of CSS3

In modern browsers In IE7, no opacity

Graceful degradation: opacity

Page 103: The Graceful Degradation of CSS3

rgba4.

Page 104: The Graceful Degradation of CSS3

rgba4.

http://aarronwalter.com/designer/

Page 105: The Graceful Degradation of CSS3

rgbaTips & issues– More granular control of particular elements than opacity

– Place after regular rgb color property to override in modern browsers; older browsers will ignore it

– IE bug: use the property background instead of background-color for the regular color

Graceful Degradation– There is an IE filter that gives transparency with a color

– Use a png for fallback if desired

Page 106: The Graceful Degradation of CSS3

Full solution: rgba.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);/* rgba value for modern browsers */

-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 107: The Graceful Degradation of CSS3

In modern browsers In IE 7, no rgba

Graceful degradation: rgba

Page 108: The Graceful Degradation of CSS3
Page 109: The Graceful Degradation of CSS3

box-shadow5.

Page 110: The Graceful Degradation of CSS3

box-shadow5.

http://badassideas.com/work/

Page 111: The Graceful Degradation of CSS3

box-shadowTips & issues– Okay if users don’t see effect, doesn’t affect usability of the page.

Graceful Degradation– There is a filter for IE: shadow (actually there are 2: dropshadow as well, but shadow is said to be better)

– Extra credit: serve images through conditional comments if you don’t want to use the filter.

Page 112: The Graceful Degradation of CSS3

box-shadow syntaxSyntax breakdown:box-shadow: <x-offset> <y-offset> <blur> <color>

Page 113: The Graceful Degradation of CSS3

Full solution: box-shadow.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 114: The Graceful Degradation of CSS3

In modern browsers In IE 7, sans box shadow

Graceful degradation: box-shadow

Page 115: The Graceful Degradation of CSS3

text-shadow6.

Page 116: The Graceful Degradation of CSS3

text-shadow6.

http://www.bountybev.com/home.html

Page 117: The Graceful Degradation of CSS3

text-shadowTips & issues– Can help accentuate text and improve readability and visual importance

Graceful Degradation– If it doesn’t show up, that’s okay ‐‐ no impact on accessibility

– There is an IE filter: shadow.

– Extra credit: image replacement

Page 118: The Graceful Degradation of CSS3

Full solution: text-shadow.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/9 */filter:

progid:DXImageTransform.Microsoft.Shadow(Strength=2, Direction=135, Color='#305052');

}/* For IE 5.5 - 7 */

Page 119: The Graceful Degradation of CSS3

In modern browsers In IE 7 without text shadow

Graceful degradation: text-shadow

Page 120: The Graceful Degradation of CSS3

gradient7.

Page 121: The Graceful Degradation of CSS3

gradient7.

http://www.denisejacobs.com/cdgexamples/chapter8/

Page 122: The Graceful Degradation of CSS3

gradientTips & issues– Different syntax for mozilla and webkit browsers

Graceful Degradation– Gradient will not appear older browsers: IE and Opera do not support, so will still need a fallback image** which may make you wonder: “then why use it at all?”

– Establish fallback background image first in code

Page 123: The Graceful Degradation of CSS3

gradient syntax

Page 124: The Graceful Degradation of CSS3

#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));

}

gradient syntax

Page 125: The Graceful Degradation of CSS3

Full solution: gradient.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,left top,leftbottom,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 126: The Graceful Degradation of CSS3

Graceful degradation: gradient

In modern browsersIn IE, with fallback image & conditional 

comment for rounded corners

Page 127: The Graceful Degradation of CSS3

Colorzilla gradient tool

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

Page 128: The Graceful Degradation of CSS3

transform8.

Page 129: The Graceful Degradation of CSS3

transform (2d)8.

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

Page 130: The Graceful Degradation of CSS3

transformTips & issues– Mozilla, webkit, and opera vendor prefixes, but no standard yet.

– Rendering uneven: jagged edges in the WebkitsGraceful Degradation– Leave images/elements in standard orientation or shape

– There is an IE filter: matrix.– Extra credit: serve images or image sprites with conditional comments

Page 131: The Graceful Degradation of CSS3

transform: types

• rotate

• scale

• skew

• translate

• matrix

Page 132: The Graceful Degradation of CSS3

transform: rotate syntaxThe generic syntax for transform is<-prefix->transform: type(<value>) type(<value>)

type(<value>) type(<value>);

For rotate specifically, here is the syntax:<-prefix->transform: rotate(<value>)

Positive values will rotate the object clockwise to the right, and negative values will rotate the element counter‐clockwise to the left.

Page 133: The Graceful Degradation of CSS3

#photos img {-webkit-transform: rotate(-2deg);-moz-transform: rotate(-2deg);-o-transform: rotate(-2deg);}

transform: rotate

Page 134: The Graceful Degradation of CSS3

In modern browsers In IE 7 without transform

Graceful degradation: transform

Page 135: The Graceful Degradation of CSS3

Useful Tools

Page 136: The Graceful Degradation of CSS3

More tools to do the heavy lifting

Page 137: The Graceful Degradation of CSS3

CSS3 Generators

Page 138: The Graceful Degradation of CSS3

CSS3Please.com

Page 139: The Graceful Degradation of CSS3

CSS3Generator.com

Page 140: The Graceful Degradation of CSS3

CSS3-Maker.com

Page 141: The Graceful Degradation of CSS3

CSS3 Tools at WestCiv

http://westciv.com/tools/

Page 142: The Graceful Degradation of CSS3

Even more CSS3 Generators

http://csscorners.com/

http://border‐image.com

Page 143: The Graceful Degradation of CSS3

Helper Scripts

Page 144: The Graceful Degradation of CSS3

Modernizr.com

Page 145: The Graceful Degradation of CSS3

Templates

Page 146: The Graceful Degradation of CSS3

HTML5Boilerplate.comPaul Irish’s HTML5 template file

http://html5boilerplate.com/

Page 147: The Graceful Degradation of CSS3

Final Thoughts

Page 148: The Graceful Degradation of CSS3

“Can I use CSS3 now?”

Page 149: The Graceful Degradation of CSS3

Make the…

Page 150: The Graceful Degradation of CSS3

Try out some new moves

Page 151: The Graceful Degradation of CSS3

Totally hot

Page 152: The Graceful Degradation of CSS3

Coding superhero

Page 153: The Graceful Degradation of CSS3

Resources

delicious.com/denisejacobs/gdcss3

delicious.com/denisejacobs/gdcss3examples

delicious.com/denisejacobs/css3

Page 154: The Graceful Degradation of CSS3

Thank you!

denisejacobs.com

[email protected]/denisejacobs

slideshare.net/denisejacobs

Page 155: The Graceful Degradation of CSS3

Closed.