830 likes | 860 Views
Say goodbye to the browser-specific properties and hacks cluttering your files and say hello to lean, mean CSS. <br><br>With eCSStender, when you write the rules, browsers pay attention. <br><br>In this session, Gustafson covers everything you would need to know to get up and running with eCSStender by: <br><br>* demonstrating why we need a tool like eCSStender <br>explaining how eCSStender works <br>* showing how painlessly extensions can be implemented; and <br>* demonstrating how to build an extension using a little jQuery.
E N D
CSS Aaron Gustafson Easy Designs, LLC slideshare.net/AaronGustafson
CSS & eCSStender Download... eCSStender.org CSS Summit - July 2011 12
CSS & eCSStender Download... eCSStender.org CSS Summit - July 2011 13
CSS & eCSStender Download... github.com/easy-designs/eCSStender.js CSS Summit - July 2011 14
CSS & eCSStender ...collect extensions... CSS Summit - July 2011 15
CSS & eCSStender ...collect extensions... CSS Summit - July 2011 16
CSS & eCSStender ...include... <script type="text/javascript" src="eCSStender.js"></script> <script type="text/javascript" src="eCSStender.CSS3-backgrounds-and-borders.js"></script> <script type="text/javascript" src="eCSStender.CSS3-transforms.js"></script> <script type="text/javascript" src="eCSStender.CSS3-color.js"></script> <script type="text/javascript" src="eCSStender.CSS3-transitions.js"></script> CSS Summit - July 2011 17
CSS & eCSStender ...and write your CSS section, article, blockquote { border-radius: 10px; box-shadow: 0 0 15px 1px #000; color: rgb(255, 255, 255); transform-origin: 50% 50%; transition: all 0.5s linear; } section:hover, body:focus section, section:hover blockquote, body:focus blockquote { transform: rotate(-15deg); } section:hover article, body:focus article { transform: rotate(30deg); } CSS Summit - July 2011 18
CSS & eCSStender Need selectors? <script type="text/javascript" src="eCSStender.js"></script> <script type="text/javascript" src="sizzle.js"></script> <script type="text/javascript"> // <![CDATA[ eCSStender.addMethod('findBySelector',Sizzle); // ]]> </script> <script type="text/javascript" src="eCSStender.CSS3-selectors.js"></script> CSS Summit - July 2011 20
CSS & eCSStender Compound classes in IE6? p.test { color: green; } p.alt.test { color: red; } CSS Summit - July 2011 21
CSS & eCSStender Adjacent siblings? p + p { color: green; } CSS Summit - July 2011 22
CSS & eCSStender General siblings? p ~ p { color: green; } CSS Summit - July 2011 23
CSS & eCSStender Advanced pseudo-classes? tr { background: white; } td:empty { background: green; } CSS Summit - July 2011 24
CSS & eCSStender Consider border-radius #foo { border-radius: 3px; } CSS Summit - July 2011 26
CSS & eCSStender Consider border-radius #foo { -moz-border-radius: 3px; -webkit-border-radius: 3px; -o-border-radius: 3px; -khtml-border-radius: 3px; border-radius: 3px; } CSS Summit - July 2011 27
CSS & eCSStender Consider border-radius #foo { border-radius: 10px 5px; } CSS Summit - July 2011 28
CSS & eCSStender Consider border-radius #foo { -moz-border-radius: 10px 5px; -webkit-border-top-left-radius: 10px; -webkit-border-top-right-radius: 5px; -webkit-border-bottom-right-radius: 10px; -webkit-border-bottom-left-radius: 10px; -o-border-radius: 10px 5px; -khtml-border-top-left-radius: 10px; -khtml-border-top-right-radius: 5px; -khtml-border-bottom-right-radius: 10px; -khtml-border-bottom-left-radius: 10px; border-radius: 10px 5px; } CSS Summit - July 2011 29
CSS & eCSStender Ah, memories... #foo { padding: 10px; width: 200px; w\idth: 180px; height: 200px; heigh\t: 180px; } /* or */ #foo { padding: 10px; width: 200px; height: 200px; } * html #foo { width: 180px; height: 180px; } CSS Summit - July 2011 30
CSS & eCSStender Simplifed CSS3? <script type="text/javascript" src="eCSStender.js"></script> <script type="text/javascript" src="eCSStender.CSS3-backgrounds-and-borders.js"></script> <script type="text/javascript" src="eCSStender.CSS3-transforms.js"></script> <script type="text/javascript" src="eCSStender.CSS3-color.js"></script> <script type="text/javascript" src="eCSStender.CSS3-transitions.js"></script> CSS Summit - July 2011 31
CSS & eCSStender Yup! section, article, blockquote { border-radius: 10px; box-shadow: 0 0 15px 1px #000; color: rgb(255, 255, 255); transform-origin: 50% 50%; transition: all 0.5s linear; } section:hover, body:focus section, section:hover blockquote, body:focus blockquote { transform: rotate(-15deg); } section:hover article, body:focus article { transform: rotate(30deg); } http://ecsstender.org/demos/spoon/ CSS Summit - July 2011 32
CSS & eCSStender Valid extension of CSS -prefix- CSS Summit - July 2011 34
CSS & eCSStender Browser vendors do it -webkit- -moz- -ms- -o- CSS Summit - July 2011 35
CSS & eCSStender Pointless, but possible .bowling-alley img { -easy-physics-fill: lead; } .beach img { -easy-physics-fill: rubber; } .disney img { -easy-physics-fill: helium; } http://ecsstender.org/demos/physics/ CSS Summit - July 2011 38
CSS & eCSStender Step 1: Register extensions Register CSS Summit - July 2011 40
CSS & eCSStender Step 2: Find stylesheets <html> Inspect CSS CSS Summit - July 2011 41
CSS & eCSStender Step 3: Collect the rules Collect CSS CSS Summit - July 2011 42
CSS & eCSStender Step 4: parse process & Process CSS Summit - July 2011 43
CSS & eCSStender Step 5: Trigger extensions CSS Summit - July 2011 44
CSS & eCSStender Helping hands ๏ Dean Edward’s IE scripts ๏ Selectivizr ๏ css3-mediaqueries.js Browser Patchers ๏ Respond.js CSS Summit - July 2011 46
CSS & eCSStender Alternative syntax ๏ SASS (Syntactically Awesome Stylesheets) ๏ LESS (Leaner CSS) ๏ OO CSS (purely conceptual) Browser Patchers Shorthand Parsers CSS Summit - July 2011 47
CSS & eCSStender Capability checking ๏ Modernizr Testing Scripts Browser Patchers Shorthand Parsers CSS Summit - July 2011 48
CSS & eCSStender Something new ๏ More CSS Testing Scripts Browser Patchers Shorthand Parsers Custom CSS Parsers CSS Summit - July 2011 49
CSS & eCSStender Ecosystem ๏ jQuery plug-ins One-off CSS scripts libraries & ๏ CSS Sandpaper ๏ CVI scripts Testing Scripts Browser Patchers Shorthand Parsers Custom CSS Parsers CSS Summit - July 2011 50