CSS3 With A Safety Net - Sudweb 2012

47
CSS3 WITH A SAFETY NET PETER GASSTON @STOPSATGREEN

description

Practical ways to use CSS3 today. #sudweb

Transcript of CSS3 With A Safety Net - Sudweb 2012

Page 1: CSS3 With A Safety Net - Sudweb 2012

CSS3 WITH A SAFETY NET

PETER GASSTON@STOPSATGREEN

Page 2: CSS3 With A Safety Net - Sudweb 2012

BONJOURJE M’APPELLEPETERGASSTON

Page 3: CSS3 With A Safety Net - Sudweb 2012

I won’t be making jokes about French stereotypes

Page 4: CSS3 With A Safety Net - Sudweb 2012

LES GASSTONS

Because I’m part French myself. My family came over with the Normans in 1066. So any jokes I make will be done with a sense of fraternité.

Page 5: CSS3 With A Safety Net - Sudweb 2012

“WE CAN’T USE CSS3 YET”

I am so sick of hearing this.

Page 6: CSS3 With A Safety Net - Sudweb 2012

CONNERIE(PARDON MY FRENCH)

Page 7: CSS3 With A Safety Net - Sudweb 2012

~77% OF BROWSERS HAVE CSS3 SUPPORT

TO SOME DEGREE

Source: StatcounterThe point when every browser fully supports CSS3 may be very far into the future, or not at all.

Page 8: CSS3 With A Safety Net - Sudweb 2012

I recently worked for Top10.com and we used a lot of CSS3 across the site.

Page 9: CSS3 With A Safety Net - Sudweb 2012

HOW TO USE CSS3 NOW

Here are some practical examples of how we did it.

Page 10: CSS3 With A Safety Net - Sudweb 2012

PROGRESSIVE ENHANCEMENT& GRACEFUL

DEGRADATION

Page 11: CSS3 With A Safety Net - Sudweb 2012

DO NOTHING

Using some CSS properties, like border-radius, will cause no harm if they’re not supported.

Page 12: CSS3 With A Safety Net - Sudweb 2012
Page 13: CSS3 With A Safety Net - Sudweb 2012

e { background-color: #FF64C1; background-image: linear-gradient(#FF64C1,#FF049B); border-radius: 5px;}

This means some elements will display differently cross-browser. But, as we say in English....

Page 14: CSS3 With A Safety Net - Sudweb 2012

C’EST LA VIE

Page 15: CSS3 With A Safety Net - Sudweb 2012

YOU MAY BE WORRIED THAT YOUR

CLIENT WON’T ACCEPT THAT

I know Sarkozy isn’t president any more, but there are no images of Hollande dressed as Napolean. Also, is it okay to make jokes about Napoleon in France?

Page 16: CSS3 With A Safety Net - Sudweb 2012

DON’T TELL THEM

This won’t work for everyone, but it’s worked for me on many occasions.

Page 17: CSS3 With A Safety Net - Sudweb 2012

A metaphor for progressive enhancement: everybody gets the croissant, but some get the croissant au jambon et fromage. (In England I use biscuits in this metaphor).

Page 18: CSS3 With A Safety Net - Sudweb 2012

DO SOMETHING

Add a little extra code to make sure that non-CSS3 browsers still get a good experience, like using a background-image as well as gradients.

Page 19: CSS3 With A Safety Net - Sudweb 2012
Page 20: CSS3 With A Safety Net - Sudweb 2012

e { background-color: #F00; background-image: url(‘foo.png’); background-image: repeating-linear-gradient(45deg, #FFF, #FFF 7px, #F00 7px, #F00 12px); animation: bar 250ms infinite;}

Page 21: CSS3 With A Safety Net - Sudweb 2012
Page 22: CSS3 With A Safety Net - Sudweb 2012

REWARD PEOPLE WITH GOOD BROWSERS

DO COOL STUFF

It means extra work, so why bother doing it? You get to learn new things, and your users with modern browsers get a better experience.

Page 23: CSS3 With A Safety Net - Sudweb 2012

NB: USE CONDITIONAL COMMENTS &

SEPARATE CSS FILES FOR IE

Sidenote.

Page 24: CSS3 With A Safety Net - Sudweb 2012

<link href="all.css" rel="stylesheet"><!--[if lte ie 8]> <link href="ie.css" rel="stylesheet"><![endif]-->

Page 25: CSS3 With A Safety Net - Sudweb 2012

You may have to convince your designers about progressive enhancement

Because bad designers insist on pixel-perfection cross-platform. If so...

Page 26: CSS3 With A Safety Net - Sudweb 2012

DON’T TELL THEM

Page 27: CSS3 With A Safety Net - Sudweb 2012
Page 28: CSS3 With A Safety Net - Sudweb 2012

USE JS WHERE CSS IS NOT SUPPORTED

Page 29: CSS3 With A Safety Net - Sudweb 2012
Page 30: CSS3 With A Safety Net - Sudweb 2012

document.body.style.transition

Page 31: CSS3 With A Safety Net - Sudweb 2012

$.support.transition=(function(){ var aBody=document.body||document.documentElement; var aStyle=aBody.style; var support=aStyle.transition!==undefined||aStyle.WebkitTransition!==undefined||aStyle.MozTransition!==undefined||aStyle.MsTransition!==undefined||aStyle.OTransition!==undefined; return support;}

Page 32: CSS3 With A Safety Net - Sudweb 2012

if(jQuery.support.transition){ $('#foo').addClass('bar');} else { $('#foo').animate({ //Properties });};

Page 33: CSS3 With A Safety Net - Sudweb 2012

REWARD PEOPLE WITH GOOD BROWSERS

DO COOL STUFF

Page 34: CSS3 With A Safety Net - Sudweb 2012
Page 35: CSS3 With A Safety Net - Sudweb 2012
Page 36: CSS3 With A Safety Net - Sudweb 2012

POLYFILLS

Page 37: CSS3 With A Safety Net - Sudweb 2012
Page 39: CSS3 With A Safety Net - Sudweb 2012

FOR EMERGENCIES

ONLY

Polyfills etc, bring performance problems, so use them with caution and only if you really must.

Page 40: CSS3 With A Safety Net - Sudweb 2012

EVALUATE & PRIORITISE

Page 41: CSS3 With A Safety Net - Sudweb 2012

TRIAGE

Page 42: CSS3 With A Safety Net - Sudweb 2012
Page 43: CSS3 With A Safety Net - Sudweb 2012
Page 44: CSS3 With A Safety Net - Sudweb 2012

MAKE SOMEEXTRA EFFORT

STAY INFORMEDDON’T TELL ANYONE

WHAT YOU’RE DOING

Page 45: CSS3 With A Safety Net - Sudweb 2012

MERCI

Page 46: CSS3 With A Safety Net - Sudweb 2012

C’EST TRES BON

Page 47: CSS3 With A Safety Net - Sudweb 2012

http://www.flickr.com/photos/ryder-mw/7235646886/

http://www.flickr.com/photos/76354601@N07/7232416600

http://www.flickr.com/photos/ning2506/6993848945/

http://www.flickr.com/photos/mowestein/4363779898/

http://www.flickr.com/photos/omechanical/3796329118/

http://www.flickr.com/photos/micsworld/5670824432/

http://www.flickr.com/photos/customvestguy/4434533718/

http://www.flickr.com/photos/tourainesereine/2309124143/

http://www.flickr.com/photos/volcanologist/4309186873/

http://www.flickr.com/photos/21373331@N00/2697299280/

http://www.flickr.com/photos/elondotcom/4376838640/

http://alexdemora.blogspot.co.uk/2009/05/allo-allo.html

http://www.flickr.com/photos/qinn/3691031138/

http://chezclio.c.h.pic.centerblog.net/c8ok62hi.jpg