SlideShare a Scribd company logo
1 of 242
Download to read offline
CSS3: Ripe & Ready!




                            Denise Jacobs //
1      Rich Web Experience // December 1, 2011
Sweet Tweets
         Who I am:
        @denisejacobs

       This fine event:
      #rwx2011 @nofluff

    What I’m talkin’ ‘bout:
           #css3ripe
2
A little about me
    Denise 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 InterAct
    with Web Standards: A Holistic
    Approach to Web Design. She is a
    Consultant Web Design Trainer and
    Creativity Evangelist based in Miami,
    Florida.




3           CSSDetectiveGuide.com & InterActWithWebStandards.com
Ripe?




4
Ready?




5
The goal




6
How???




7
Start here…
    1. Know Your CSS3
      •   Getting started
          •   What’s new
          •   Rules of the road
          •   Helping tools and scripts


      •   Properties
          •   Standard effects
          •   Advanced effects


      •   Selectors
8
What’s New in
       CSS3

9
What’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.


10
CSS3 Modularity
     CSS3 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.




11
CSS3 Modularity: Benefits
     • Browser producers can now implement
       CSS3 module by module
     • Speeds up the browser implementation
       process
     • Encourages innovation




12
The CSS3 Modules
     • Template Layout               •   Values and Units
     • Backgrounds and Borders       •   Web Fonts
     • Ruby                          •   Behavioral Extensions to CSS
     • Basic User Interface          •   Line Layout
     • Basic Box Model               •   Flexible Box Layout
     • Grid Positioning              •   Image Values
     • Speech                        •   2D Transformations
     • Marquee                       •   Multi-column Layout
     • Style Attribute Syntax        •   3D Transformations
     • Cascading and Inheritance     •   Namespaces
     • Color                         •   Transitions
     • Fonts                         •   Animations
     • Text                          •   View Module
     • Generated Content for Paged   •   Media Queries
       Media                         •   Paged Media
     • Generated and Replaced        •   Selectors
       Content
13
Resources: New in CSS3
     http://www.w3.org/TR/tr-groups-all#
       tr_Cascading_Style_Sheets__CSS__
       Working_Group




14
Colors 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)




15
RGBA Color
     Alpha opacity:
     0.0 = 0% = no opacity
     1.0 = 100% = full opacity




16
Colors in CSS3: HSL
     HSL stands for hue, saturation, and
      luminosity (lightness)

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

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

17
HSL Color Wheel
     0º – Red
     60º – Yellow
     120º – Green
     180º – Cyan
     240º – Blue
     300º – Magenta




18
HSL Color Picker Tool




       http://www.workwithcolor.com/hsl-color-picker-01.htm
19
Getting Started with
             CSS3:
     The Rules of the Road

20
CSS3 Browser
      Compatibility

21           http://www.flickr.com/photos/sfllaw/222795669/
The 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
22
Code bloat in action
     Ideally:                     Reality:

     a.polaroid:active {          a.polaroid:active {
     z-index: 999;                z-index: 999;
     border-color: #6A6A6A;       border-color: #6A6A6A;
     box-shadow: 15px 15px 20px   -webkit-box-shadow: 15px
        rgba(0,0, 0, 0.4);           15px 20px rgba(0,0, 0,
     transform: rotate(0deg)         0.4);
        scale(1.05);              -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);
                                  }
23
None of the older IEs support CSS3
     …as in “not any.”




            6            7                                 8



24                           http://www.flickr.com/photos/johnsnape/4258191545/
Doesn’t Validate




25
IE9 now supports CSS3
                …But still not as fully as
                  the other browsers
                  yet.




26
Resources: IE9 CSS3 support
     http://msdn.microsoft.com/en-
       us/ie/ff468705.aspx#_Web_standards_sup
       port

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

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

27
Tools you’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




28
CSS3 Property browser support charts


     http://www.findmebyip.com/
       litmus




29
CSS3 Selector browser support charts

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




30
The CSS3 Specifications
     The 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




31
Cross-browser testers
     http://tredosoft.com/Multiple_IE


     http://crossbrowsertesting.com/
     (paid)


     http://browsershots.org/
     (free)
32
CSS3 & Cross-
     browser Coding

33           http://www.flickr.com/photos/scfiasco/4490322916/
The Goal: Code that works
       in all most browsers




34
Not all browsers are created equal




35
How can we achieve compatibility?




36                        http://www.flickr.com/photos/barretthall/205175534/
Steps to get as close as possible
     1. Leverage source order
     2. Filter it
     3. Let tools do all of the work




37
Leverage source order
     • 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.



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




39
A Proper Stack
     .gradient {
     color: #fff;
     background: #aaaaaa url(gradient_slice.jpg) 0 0
       x-repeat; /*fallback background color & image*/




40
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 */




41
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
       */




42
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(sta
       rtColorStr='#07407c', EndColorStr='#aaaaaa')";
       /* filter for IE8 (& IE9) */




43
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(sta
       rtColorStr='#07407c', EndColorStr='#aaaaaa')";
       /* filter for IE8 (& IE9) */
     filter:
       progid:DXImageTransform.Microsoft.gradient(star
       tColorStr='#07407c', EndColorStr='#aaaaaa');
     } /* filter for IE7 and lower */
44
Apply a Filter
     • 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.
45
Filters: {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




46
Resources: IE Filters
     Microsoft Visual Filters and Transitions Reference
     http://msdn.microsoft.com/en-us/library/
       ms532853%28v=VS.85%29.aspx




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




48
CSS3 Tools

49        http://www.flickr.com/photos/johnsnape/4258191545/
Useful CSS3 Tools
     1.   CSS3 Generators
     2.   Helper Scripts
     3.   Browser Feature Detection
     4.   Templates




50
CSS3 Generators

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




52
CSS3Generator.com




53
CSS3Maker.com




54
CSS3 Tools at WestCiv




55         http://westciv.com/tools/
More CSS3 Generators
     http://border-radius.com

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

     http://csscorners.com

     http://border-image.com


56
Helper Scripts

57          http://www.flickr.com/photos/keystricken/386106987/
Get a helping hand…
     These scripts help IE lt 8 behave like CSS3-
     compliant browsers. However, support of
     CSS3 properties varies between scripts.




58
ie-7.js (includes IE8 and IE9)




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




60
CSS Sandpaper




61   http://www.useragentman.com/blog/csssandpaper-a-css3-javascript-library/
Browser Feature
        Detection

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




63
What does Modernizr 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!


64
How to use Modernizr
     http://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/

65
Templates

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


     Paul Irish’s HTML5 template file
     http://html5boilerplate.com/




67
CSS3 Properties!

68
Webfonts

69
@font-face




70                http://lostworldsfairs.com/moon/
@font-face
     • 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
71
@font-face bug: IE lt 8
     @font-face super bullet-proofing

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




72
@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.




73
Solution: IE proof @font-face
                   + 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;
     }

74
Graceful degradation: @font-face
     • Desired font should display in all
       browsers. If not, fallback fonts will
       display

     • Extra credit: image replacement
       through conditional comments




75
Graceful degradation: @font-face




     In modern browsers   In IE 8: fallback font
76
FontSquirrel.com




77   http://www.fontsquirrel.com/fontface/generator
Webfont Services
     Instead of generating the webfonts yourself,
       you can pay a service where the webfonts
       are hosted elsewhere, and you link to them
       and use the fonts on their server.




78
Webfont Services




79       http://www.typekit.com
Webfont Services
     http://www.typotheque      http://www.webtype.com
        .com/webfonts
                                http://www.fontslive.com
     http://typekit.com
                                http://www.extensis.com/en
     http://fontdeck.com           /WebINK/

     http://kernest.com         http://webfonts.fonts.com

     http://www.ascenderfonts   http://webfonts.info/wiki/in
        .com/webfonts/             dex.php?title=Category:W
                                   ebfont_Services



80
Google Font Directory




           http://code.google.com/webfonts
81
Google Font API
     Method 1: Head Link
     <link
       href='http://fonts.googleapis.com/css?f
       amily=IM+Fell+DW+Pica' rel='stylesheet'
       type='text/css'>

     #headline h1 {
       text-align: center;
       font-size: 8em;
       color: #111;
       text-shadow: 0px 2px 3px #555;
       font-family: 'IM Fell DW Pica', arial,
       serif;
     }

     That’s it! Just two copy and paste actions and you’ve got
82     yourself a fancy new webfont.
Google Font API
     Method 2: @Import
     @import
       url(http://fonts.googleapis.com/cs
       s?family=Inconsolata);

     Simply paste this into the very top of your CSS page,
       then copy the font-family CSS snippet and paste.




83
Resources: @font-face
     • http://www.delicious.com/denisejacobs/
       font-face




84
@font-face Resources
     • http://www.fontsquirrel.com/

     • http://code.google.com/apis/webfonts/doc
       s/getting_started.html




85
New Visual Effects
         in CSS3

86
New Visual Effects in CSS3
     •   border-radius
     •   rgba color
     •   box-shadow
     •   text-shadow
     •   gradient




87
border-radius




88                   http://oh-hai.biz
Old-skool: code contortions




89
border-radius
     • Tips & issues
        – Different syntax for mozilla, webkit, and
          opera browsers

     • Browser Support
        – IE lt 8 does not support, IE9 does




90
border-radius




     Syntax comparison breakdown:
     • -moz allows multiple values for each position
     • -webkit individual values
91
     • Standard is like mozilla
border-radius
     #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;
     }




92
Graceful Degradation: border-radius
     • Square corners are okay

     • Extra credit: serve images through
       conditional comments




93
Graceful Degradation: border-radius




     In modern browsers    In IE 7, image replacement
                          through conditional comments
94
Graceful Degradation: border-radius




     In modern browsers   In IE 6, no image replacement

95
Border-radius.com




96
border-radius Resources
     http://www.delicious.com/denisejacobs/
       border-radius




97
rgba




98          http://aarronwalter.com/designer/
rgba
     • 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.


99
Cross-browser: rgba
      • Place after regular rgb color property to
        override in modern browsers; older
        browsers will ignore it

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




100
Graceful degradation: rgba




      In modern browsers     In IE 7, no rgba

101
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);
      -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 */
      }
102
Inspiration: rgba
      • http://aarronwalter.com/2010/11/01/color-
        mixing-with-rgba/




103
box-shadow




104                http://badassideas.com/work/
box-shadow
      • 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)


105
box-shadow
      .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);
      }




106
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.Shad
        ow(Strength=4, Direction=135,
        Color='#333333')";
      /* For IE 8 */
      filter:
        progid:DXImageTransform.Microsoft.Shado
        w(Strength=4, Direction=135,
        Color='#333333');
        /* For IE 5.5 - 7 */
      }
107
Graceful degradation: box-shadow
      • Okay if users don’t see effect, doesn’t
        affect usability of the page.

      • However, 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 didn’t want to
        use the filter.
108
Graceful degradation: box-shadow




      In modern browsers   In IE 7, sans box shadow
109
Inspiration: box-shadow




110   http://nicolasgallagher.com/css-drop-shadows-without-images/demo/
Resources: box-shadow
      http://www.delicious.com/denisejacobs/
        box-shadow




111
text-shadow




112                 http://www.bountybev.com
text-shadow

      • 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


113
Graceful degradation: text-shadow
      • If it doesn’t show up, that’s okay
             • No impact on accessibility

      • However, there is an IE filter: shadow.

      • Extra credit: image replacement




114
Graceful degradation: text-shadow




In modern browsers            In IE 7 without text shadow

115
Full solution: text-shadow
      .textshadow h2 {
      text-shadow:1px 1px 2px
        rgba(48,80,82,0.8);
      -ms-filter:
        "progid:DXImageTransform.Microsoft.Shad
        ow(Strength=2, Direction=135,
        Color='#305052')";
      /* For IE 8+ */
      filter:
        progid:DXImageTransform.Microsoft.Shado
        w(Strength=2, Direction=135,
        Color='#305052');
      /* For IE 5.5 - 7 */
      }

116
Inspiration: text shadow




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




118   http://desandro.com/articles/the-new-lens-flare/
Resources: text-shadow
      http://www.delicious.com/denisejacobs/
        text-shadow




119
gradient




120              http://raymondjay.com/
Old skool: Gradient background




121
gradient
      • 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


122
gradient
      #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));
      }




123
Graceful degradation: gradient
      • Gradient will not appear older
        browsers

      • Establish fallback background image
        first in code




124
Graceful degradation: gradient




In modern browsers        In IE, with fallback image; conditional comment
                                                       for rounded corners

125
gradient: 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,left
        top,left bottom,color-stop(0, #07407c),color-
        stop(1, #aaaaaa));
      -ms-filter:
        "progid:DXImageTransform.Microsoft.gradient(sta
        rtColorStr='#07407c', EndColorStr='#aaaaaa')";
        /* IE8+ */
      filter:
        progid:DXImageTransform.Microsoft.gradient(star
        tColorStr='#07407c', EndColorStr='#aaaaaa');
        /* IE7- */
      }
126
Inspiration: gradients




127      http://leaverou.me/css3patterns/
Inspiration: gradients




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




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

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

      http://css3please.com

      http://css3generator.com




130
Resources: gradient
      http://www.delicious.com/denisejacobs/
        gradient




131
Advanced Visual
       Effects in CSS3

132
CSS3 for Advanced Visual Presentation
       1.   border-image
       2.   multiple background images
       3.   background-size
       4.   multiple text columns




133
border-image




134                  http://www.spoongraphics.com/blog/
border-image
      Borders 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
135
        – The IEs do not support
border-image
      div.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;
      }




136
Border-image.com




137
Resources: border-image
      http://www.delicious.com/denisejacobs/
        border-image




138
Multiple backgrounds




139                     http://www.lostworldsfairs.com
Multiple 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
140
Multiple backgrounds
      body {
      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));
      }

141
Resources: multiple backgrounds
      http://www.delicious.com/denisejacobs/
        multiplebackgrounds




142
background-size




143       http://www.alistapart.com/articles/supersize-that-background-please/
background-size
      You 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



144
background-size values
      contain
      • Scales the image, while preserving its
        intrinsic aspect ratio (if any), to the largest
        size such that both its width and its height
        can fit inside the background positioning
        area.

      Contain always fits the entire image within
        your viewport, leaving opaque borders on
        either the top-bottom or the left-right
        whenever the ratio of the background
        image and browser window are not the
145
background-size values
      cover
      • Scales the image, while preserving its intrinsic
        aspect ratio (if any), to the smallest size such that
        both its width and its height can completely cover
        the background positioning area.

      Cover always fills the browser window. You can
        control how your image is aligned within the
        viewport by using the background-position
        property.


146
background-size
      Example:
      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;
      }




147
Inspiration: background-size




148             Launchrock.com
Resources: background-size
      • 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


149
masks




150       http://webkit.org/blog/181/css-masks/
masks
      • Masks allow you to overlay the content of a
        box with a pattern that can be used to
        knock out portions of that box in the final
        display.

      • Masks work ONLY in Webkit browsers.

      • You can use other images, gradients, and


151
mask types
      New mask properties:
        -webkit-mask (background)
        -webkit-mask-attachment
        (background-attachment)
        -webkit-mask-clip (background-
        clip)
        -webkit-mask-origin (background-
        origin)
        -webkit-mask-image (background-
        image)
        -webkit-mask-repeat (background-
        repeat)
        -webkit-mask-composite
        (background-composite)
        -webkit-mask-box-image (border-
        image)
152
masks
      Example code:

      Using an image
      <img src="kate.png" style="-webkit-
        mask-box-image: url(mask.png) 75
        stretch;">

      Using a gradient
      <img src="kate.png" style="-webkit-
        mask-image: -webkit-
        gradient(linear, left top, left
        bottom, from(rgba(0,0,0,1)),
        to(rgba(0,0,0,0)))">
153
Resources: masks
      http://www.delicious.com/denisejacobs/mas
        ks




154
box-reflect




155             http://lab.simurai.com/css/umbrui/
box-reflect
      • A reflection is a replica of the original
        object with its own specific transform and
        mask.

      • Reflections will update automatically as the
        source changes. If you hover over links,
        you’ll see the hover effect happen in the
        reflection.

      • The reflection will have no effect on layout
        (other than being part of a container’s
156
        overflow)
box-reflect: syntax
      Syntax:
      -webkit-box-reflect: <direction> <offset>
        <mask-box-image>

      <direction> can be one of above, below, left or right.

      <offset> is a length or percentage that specifies the distance
         of the reflection from the edge of the original border box
         (using the direction specified). It can be omitted, in which
         case it defaults to 0.

      <mask-box-image> is a mask-box-image that can be used to
        overlay the reflection. If omitted, the reflection has no
        mask.

157
box-reflect
      Example:
      <img src="bubbles.jpg"
        style="border:5px solid white;
        -webkit-box-reflect:below 5px;
        -webkit-gradient(linear, left top,
        left bottom, from(transparent),
        color-stop(0.5, transparent),
        to(white));">




158
Resources: box-reflect
      http://www.delicious.com/denisejacobs/box-
        reflect




159
Multiple text columns




160                           http://www.yaili.com
Multiple text columns
      You 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.



161
Multiple column properties
      • Column-number
      • Column-width
      • Columns (shorthand)
        – <‘column-width’> || <‘column-count’>




162
Column gap & rule properties
      •   column-gap
      •   Column-rule-width
      •   Column-rule-style
      •   Column-rule-color
      •   Column-rule (shorthand)
          – <column-rule-width> || <border-style> || [
            <color> | transparent ]




163
Column span
      • Can span multiple columns




164
Multiple text columns
      Example:
      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;
      }




165
Resources: multiple columns
      http://www.delicious.com/denisejacobs/
        multiplecolumns




166
2d Transformations
          with CSS3

167
transform (2d)




168             http://www.zurb.com/playground/css3-polaroids/
transform
      • Tips & issues
         – Mozilla, Webkit, and Opera vendor
           prefixes; no standard yet.

      • Browser Support
         – IE lt 8 does not support, but IE9 does




169
2D Transformations
      Different kinds of transforms:
         • rotate
         • scale
         • skew
         • translate
         • matrix




170
Transform: graceful 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



171
Transform: graceful degradation




In modern browsers         In IE 7 without transform
172
transform/rotate: full solution
      .rotate {
      -moz-transform: rotate(-5deg);
      -webkit-transform: rotate(-5deg);
      -o-transform: rotate(-5deg);
      transform: rotate(-5deg);
      filter:
        progid:DXImageTransform.Microsoft.Matrix(sizing
        Method='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;
      }


173
transform: multiple
      You 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);
        }




174
Resources: 2D transforms
      http://www.delicious.com/denisejacobs/
        transform




175
Animation with
          CSS3

176
Animation
      1. transitions
      2. animation (the webkits only)

      A Tip:
      Be subtle – it’s more effective




177
Old skoool: Flash




178
transition




179                http://timvandamme.com/
transition
      You 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




180
transition
      Example:
      #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;
      }




181
Animation




182               http://www.css3exp.com/moon/
Animation
      You 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




183
Animation
      div {
      animation-name: diagonal-slide;
      animation-duration: 5s;
      animation-iteration-count: 10;
      }

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




184
Resources: Animation
      http://www.delicious.com/denisejacobs/
        animation




185
CSS3 Selectors

186          http://www.flickr.com/photos/jamiecampbell/446301597/
CSS3 Selectors
      Advanced 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


187
HTML Hierarchy Reminder




188
The Hierarchy “Family Tree”
      • An ancestor is any element that is connected to other elements but is
        higher up the document tree, no matter how many levels up. For
        example, in the document above, both the <html> and <body> tags are
        ancestors of the <p> tag.

      • A descendant is any element connected to an ancestor, but lower in
        the document tree, no matter how many levels down. In our example,
        the <em>, <a>, and <img> are descendants of the <body> tag.

      • A parent is an element directly above a connected element in the
        document tree. A parent element is also an ancestor, but an element
        can have ancestors that are not its parents.

      • A child element is directly below a connected element. A child is a
        descendant, but an element can have descendants that are not its
        children.

      • Sibling elements share the same parent, and are on the same level as
        each other in the hierarchy.

189
CSS3 Selector Specification
      • General sibling            • Pseudo-elements*
        E~F
                                   *all pseudo-elements
                                      indicated with :: in CSS3
      • Attribute presence
         – a[attribute="value"]
         – a[attribute~="value"]
         – a[attribute|="value"]


      • Attribute substrings
         – a[attribute^="value"]
         – a[attribute$="value"]
         – a[attribute*="value"]
190
CSS3 Selectors
      • Pseudo-classes          – Structural
        – Target                   •   :nth-child(n)
           • :target               •   :nth-last-child(n)
                                   •   :nth-of-type(n)
                                   •   :nth-last-of-type(n)
        – Negation
                                   •   :last-child
           • :not(s)
                                   •   :first-of-type
                                   •   :last-of-type
        – State                    •   :only-child
           •   :enabled
                                   •   :only-of-type
           •   :disabled
                                   •   :empty
           •   :checked
           •   :indeterminate
191
CSS3 Selector Support




192        http://www.findmebyip.com/litmus
Combinator Selectors: General Sibling
      A general sibling selector (also known as adjacent)
        selects an element that shares the same parent as
        another element in the document tree.

      Syntax:
      sibling selector ~ sibling selector
        {property: value; }
      E ~ F

      Example:
      p ~ dd {font-family: Georgia,
193     serif;}
Combinator Selectors: Attribute presence
      selector[attribute="value"] targets a selector with a
        particular attribute and specific value.
      Example:
      img[src=“catchathief.jpg”] {border:
        1px solid #999; }

      selector [attribute~="value"] targets a selector with
        a particular attribute and value where the value is
        one of multiple values separated by a space.
      Example
      img[alt~="CSI"] {border: 1px
        #ff8000 solid;}


194
Combinator Selectors: Attribute presence
      selector [attribute|="value"] targets an element
        with an attribute that contains values separated
        by a hypen in a list.

      Example:
      img[title|="large"] {border: 1px
        solid #000; }




195
Combinator Selectors: Attribute substrings
      selector [attribute^="value"] targets an element
        with an attribute that begins with a prefix of
        “value”.
      Example:
      img[title^=“th_"] { border: 1px
        solid #000; }

      selector [attribute$="value"] targets an element
        with an attribute which ends with a suffix of
        “value.”
      Example:
      img[title$=“png"] { border: 1px
196     solid #000; }
Combinator Selectors: Attribute substrings
      selector [attribute*="value"] targets an element
        with an attribute that contains “value” as any
        part of a value string.

      Example:
      img[title*="large"] {border: 1px
        solid #000; }




197
Lab Time
      Let’s apply the general sibling and attribute
        selectors to our page.

      Let’s see how we can make the page look
        exactly the same but with the new CSS3
        selectors.




198
CSS3 Pseudo-
         classes

199
Pseudo-classes: Structural
      • Structural
        – :root
        – :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
200
Old skool: zebra striping




201
Nth child selector tester




            http://leaverou.me/demos/nth.html
202
The :nth-child() pseudo-class
      The :nth-child() pseudo-class targets an
        element that has a certain number of
        siblings before it in the document tree. This
        argument, which is placed within the
        parentheses, can be a number, a keyword,
        or a formula.

      A number x matches the x-th child.

      Example:
      • p:nth-child(3) { color:#f00;
203     }
The :nth-child() pseudo-class
      The 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.
      Example:
      p:nth-child(odd) { color:#f00; }

      The 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.
      Example:
204
      p:nth-child(3n+1) { color:#f00; }
The :nth-last-child() pseudo-class
      The :nth-last-child() pseudo-class works just like the
        :nth-child() pseudo-class, except that it targets an
        element that has a certain number of siblings
        after it in the document tree.

      In other words, it starts counting from the last child
         instead of the first, and counts backwards.

      Example:
      tr:nth-last-child(2) {
        background:#ff0;}
205
The :nth-of-type() pseudo-class
      The :nth-of-type() pseudo-class works exactly
        like the :nth-child() pseudo-class, but only
        counts those elements that are of the same
        type as the element the rule is applied to.

      Example:
      p:nth-of-type(3) {
        background:#ff0;}



206
The :nth-last-of-type() pseudo-class
      The :nth-last-of-type() pseudo-class targets
        an element that has a certain number of
        siblings of the same element type after it in
        the document tree.

      Just like the :nth-last-child() pseudo-class, it
        starts counting from the last child instead
        of the first, and counts backwards.

      Example:
      p:nth-last-of-
207     type(2){background:#ff0;}
The :last-child pseudo-class
      The :last-child pseudo-class targets an
        element that is the last child of its parent
        element.

      It is the same as :nth-last-child(1).

      Example:
      p:last-child {background:#ff0;}


208
The :first-of-type pseudo-class
      The :first-of-type pseudo-class targets an
        element that is the first sibling of its type.
        it is the same as :nth-of-type(1).

      Example:
      p:first-of-type {
        background:#ff0;}




209
The :last-of-type pseudo-class
      The :last-of-type pseudo-class targets an
        element that is the last sibling of its type. it
        is the same as :nth-last-of-type(1).

      Example
      p:last-of-
        type{background:#ff0;}




210
The :only-of-type pseudo-class
      The :only-of-type pseudo-class targets an
        element whose parent element has no
        other children of the same element type.

      It is the same (but with a lower specificity) as
         :first-of-type :last-of-type or :nth-of-
         type(1):nth-last-of-type(1).

      Example:
      p:only-of-
        type{background:#ff0;}
211
The :only-child pseudo-class
      The :only-child pseudo-class targets an
        element whose parent element has no
        other element children.

      It is the same (but with a lower specificity) as
         :first-child:last-child or :nth-child(1):nth-
         last-child(1).

      Example:
      p:only-child {background:#ff0;}
212
Lab Time
      Let’s apply the CSS3 pseudo-classes selectors
        to our page.

      Let’s see how we can make the page look
        exactly the same but with the new CSS3
        selectors.




213
Pseudo-classes: State
      • :root
      • :not
      • :target




214
The :root pseudo-class
      The :root pseudo-class targets the
        document’s root element. In HTML, the
        root element is always the HTML element.

      :root actually has a higher specificity than
        html.

      Example:
      :root { background:#ff0; }

215
Pseudo-class: Negation
      :not targets all elements that are not
        indicated. A very useful pseudo-class.

      Example:
      *:not(img) {text-align: left;}
      (This would match all elements except
        images.)



216
Pseudo-class: Target
      :target targets the target of a url on a page –
         most often used for fragment identifiers.

      Example:
      div.window:target {
      opacity: 1;
      z-index: 7;
      }


217
Pseudo-classes: State
      •   :enabled
      •   :disabled
      •   :checked
      •   :indeterminate




218
Pseudo-elements: State
      The :enabled and :disabled pseudo-classes
         allow developers to specify the
         appearance of user interface elements
         (form controls) that are enabled or
         disabled, provided that the browser
         allows styling of form controls.

      Example:
      input[type="text"]:enabled {
         background:#ffc; }
      input[type="text"]:disabled {
219
         background:#ddd; }
The :checked pseudo-class
      The :checked pseudo-class allows developers
        to specify the appearance of checked radio
        and checkbox elements. Again, this is
        provided that the browser allows styling of
        form controls.

      Example:
      input:checked {border:1px solid
        #090;}

220
CSS3 Selector Helper Script




               http://www.selectivizr.com
221
Resources: 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

222
Tools: CSS3 Selectors
      • http://www.quirksmode.org/
        compatibility.html

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




223
Resources: 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

224
The End?

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




226
Put yourself into




227
Tomorrow




228
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

229
Article-lations

230
On Netmagzine.com




http://www.netmagazine.com/features/   http://www.netmagazine.com/features/
    top-10-css3-techniques                21-top-tools-responsive-web-design
231
A library of
       resources

232   http://upload.wikimedia.org/wikipedia/commons/e/e2/New_York_State_Library_1900.jpg
CSS3, hot off the presses!




             The Book of CSS3
233          by Peter Gasston
Project-based CSS3




            Stunning CSS3
234
        by Zoe Mikely Gillenwater
CSS3 Condensed and Explained




             CSS3 For Web Designers
235
                by Dan Cederholm
The book on Responsive Web Design




              Responsive Web Design
                 by Ethan Marcotte
236
CSS3 and Media Queries




          Hardboiled Web Design
237           by Andy Clarke
Flexible Layouts




        Flexible Web Design
238
      by Zoe Mickley Gillenwater
Timeless CSS Solutions




              CSS Mastery
239
            by Andy Budd, et al
Proactive coding & graceful degradation




             CssDetectiveGuide.com
240
Holistic Web Design




      Interact with Web Standards: A Holistic Approach to
                           Web Design
241
Where to find me:
       DeniseJacobs.com

      denise@denisejacobs.com

      twitter.com/denisejacobs

      slideshare.net/denisejacobs




242

More Related Content

What's hot

Dive into HTML5: SVG and Canvas
Dive into HTML5: SVG and CanvasDive into HTML5: SVG and Canvas
Dive into HTML5: SVG and CanvasDoris Chen
 
From Shabby to Chic
From Shabby to ChicFrom Shabby to Chic
From Shabby to ChicRichard Bair
 
Dive Into HTML5
Dive Into HTML5Dive Into HTML5
Dive Into HTML5Doris Chen
 
Sass, Compass and the new tools - Open Web Camp IV
Sass, Compass and the new tools - Open Web Camp IVSass, Compass and the new tools - Open Web Camp IV
Sass, Compass and the new tools - Open Web Camp IVDirk Ginader
 
10 Advanced CSS Techniques (You Wish You Knew More About)
10 Advanced CSS Techniques (You Wish You Knew More About)10 Advanced CSS Techniques (You Wish You Knew More About)
10 Advanced CSS Techniques (You Wish You Knew More About)Emily Lewis
 
Css for Development
Css for DevelopmentCss for Development
Css for Developmenttsengsite
 
Authoring Stylesheets with Compass & Sass
Authoring Stylesheets with Compass & SassAuthoring Stylesheets with Compass & Sass
Authoring Stylesheets with Compass & Sasschriseppstein
 
Transcendent Design with CSS & JavaScript (Web Directions North '07)
Transcendent Design with CSS & JavaScript (Web Directions North '07)Transcendent Design with CSS & JavaScript (Web Directions North '07)
Transcendent Design with CSS & JavaScript (Web Directions North '07)Aaron Gustafson
 
Sara Soueidan: Styling and Animating Scalable Vector Graphics with CSS [CSSCo...
Sara Soueidan: Styling and Animating Scalable Vector Graphics with CSS [CSSCo...Sara Soueidan: Styling and Animating Scalable Vector Graphics with CSS [CSSCo...
Sara Soueidan: Styling and Animating Scalable Vector Graphics with CSS [CSSCo...Guillaume Kossi
 
SVG For Web Designers (and Developers)
SVG For Web Designers (and Developers) SVG For Web Designers (and Developers)
SVG For Web Designers (and Developers) Sara Soueidan
 
DojoX GFX Keynote Eugene Lazutkin SVG Open 2007
DojoX GFX Keynote Eugene Lazutkin SVG Open 2007DojoX GFX Keynote Eugene Lazutkin SVG Open 2007
DojoX GFX Keynote Eugene Lazutkin SVG Open 2007Eugene Lazutkin
 
9 Months Web Development Diploma Course in North Delhi
9 Months Web Development Diploma Course in North Delhi9 Months Web Development Diploma Course in North Delhi
9 Months Web Development Diploma Course in North DelhiJessica Smith
 
DojoX GFX Session Eugene Lazutkin SVG Open 2007
DojoX GFX Session Eugene Lazutkin SVG Open 2007DojoX GFX Session Eugene Lazutkin SVG Open 2007
DojoX GFX Session Eugene Lazutkin SVG Open 2007Eugene Lazutkin
 
CSS Walktrough Internship Course
CSS Walktrough Internship CourseCSS Walktrough Internship Course
CSS Walktrough Internship CourseZoltan Iszlai
 
Vector Graphics on the Web: SVG, Canvas, CSS3
Vector Graphics on the Web: SVG, Canvas, CSS3Vector Graphics on the Web: SVG, Canvas, CSS3
Vector Graphics on the Web: SVG, Canvas, CSS3Pascal Rettig
 

What's hot (20)

Css 3
Css 3Css 3
Css 3
 
Dive into HTML5: SVG and Canvas
Dive into HTML5: SVG and CanvasDive into HTML5: SVG and Canvas
Dive into HTML5: SVG and Canvas
 
From Shabby to Chic
From Shabby to ChicFrom Shabby to Chic
From Shabby to Chic
 
Html5 more than just html5 v final
Html5  more than just html5 v finalHtml5  more than just html5 v final
Html5 more than just html5 v final
 
Dive Into HTML5
Dive Into HTML5Dive Into HTML5
Dive Into HTML5
 
Sass, Compass and the new tools - Open Web Camp IV
Sass, Compass and the new tools - Open Web Camp IVSass, Compass and the new tools - Open Web Camp IV
Sass, Compass and the new tools - Open Web Camp IV
 
CSS and CSS3
CSS and CSS3CSS and CSS3
CSS and CSS3
 
10 Advanced CSS Techniques (You Wish You Knew More About)
10 Advanced CSS Techniques (You Wish You Knew More About)10 Advanced CSS Techniques (You Wish You Knew More About)
10 Advanced CSS Techniques (You Wish You Knew More About)
 
Css for Development
Css for DevelopmentCss for Development
Css for Development
 
Authoring Stylesheets with Compass & Sass
Authoring Stylesheets with Compass & SassAuthoring Stylesheets with Compass & Sass
Authoring Stylesheets with Compass & Sass
 
Compass/Sass
Compass/SassCompass/Sass
Compass/Sass
 
Think Vitamin CSS
Think Vitamin CSSThink Vitamin CSS
Think Vitamin CSS
 
Transcendent Design with CSS & JavaScript (Web Directions North '07)
Transcendent Design with CSS & JavaScript (Web Directions North '07)Transcendent Design with CSS & JavaScript (Web Directions North '07)
Transcendent Design with CSS & JavaScript (Web Directions North '07)
 
Sara Soueidan: Styling and Animating Scalable Vector Graphics with CSS [CSSCo...
Sara Soueidan: Styling and Animating Scalable Vector Graphics with CSS [CSSCo...Sara Soueidan: Styling and Animating Scalable Vector Graphics with CSS [CSSCo...
Sara Soueidan: Styling and Animating Scalable Vector Graphics with CSS [CSSCo...
 
SVG For Web Designers (and Developers)
SVG For Web Designers (and Developers) SVG For Web Designers (and Developers)
SVG For Web Designers (and Developers)
 
DojoX GFX Keynote Eugene Lazutkin SVG Open 2007
DojoX GFX Keynote Eugene Lazutkin SVG Open 2007DojoX GFX Keynote Eugene Lazutkin SVG Open 2007
DojoX GFX Keynote Eugene Lazutkin SVG Open 2007
 
9 Months Web Development Diploma Course in North Delhi
9 Months Web Development Diploma Course in North Delhi9 Months Web Development Diploma Course in North Delhi
9 Months Web Development Diploma Course in North Delhi
 
DojoX GFX Session Eugene Lazutkin SVG Open 2007
DojoX GFX Session Eugene Lazutkin SVG Open 2007DojoX GFX Session Eugene Lazutkin SVG Open 2007
DojoX GFX Session Eugene Lazutkin SVG Open 2007
 
CSS Walktrough Internship Course
CSS Walktrough Internship CourseCSS Walktrough Internship Course
CSS Walktrough Internship Course
 
Vector Graphics on the Web: SVG, Canvas, CSS3
Vector Graphics on the Web: SVG, Canvas, CSS3Vector Graphics on the Web: SVG, Canvas, CSS3
Vector Graphics on the Web: SVG, Canvas, CSS3
 

Viewers also liked

Tugas laporan proyek aplikasi wanda a &amp; yopy y k
Tugas laporan proyek aplikasi wanda a &amp; yopy y kTugas laporan proyek aplikasi wanda a &amp; yopy y k
Tugas laporan proyek aplikasi wanda a &amp; yopy y kyopyopay
 
12-security.ppt - PHP and Arabic Language - Index
12-security.ppt - PHP and Arabic Language - Index12-security.ppt - PHP and Arabic Language - Index
12-security.ppt - PHP and Arabic Language - Indexwebhostingguy
 
كتاب تعلم Html5 css3
كتاب تعلم Html5 css3كتاب تعلم Html5 css3
كتاب تعلم Html5 css3titifcom
 
Thing Tutorial
Thing TutorialThing Tutorial
Thing TutorialWarren60
 
Adv 2 Teens Review For Final Written Exam
Adv 2 Teens Review For Final Written ExamAdv 2 Teens Review For Final Written Exam
Adv 2 Teens Review For Final Written ExamGilmar Mattos
 
2012 03-27 developers e-commercedag presentatie2 drupal
2012 03-27 developers e-commercedag presentatie2 drupal2012 03-27 developers e-commercedag presentatie2 drupal
2012 03-27 developers e-commercedag presentatie2 drupalCombell NV
 
Creativity (R)Evolution - ThatConference 2013
Creativity (R)Evolution - ThatConference 2013Creativity (R)Evolution - ThatConference 2013
Creativity (R)Evolution - ThatConference 2013Denise Jacobs
 
InnoGage EduWeb Conference UGC - Tapping The Power
InnoGage   EduWeb Conference UGC - Tapping The PowerInnoGage   EduWeb Conference UGC - Tapping The Power
InnoGage EduWeb Conference UGC - Tapping The PowerTom Williams
 
The Creativity (R)Evolution - UX Week 2014
The Creativity (R)Evolution -  UX Week 2014The Creativity (R)Evolution -  UX Week 2014
The Creativity (R)Evolution - UX Week 2014Denise Jacobs
 
Milieuproblematiek
MilieuproblematiekMilieuproblematiek
Milieuproblematieks0203506
 
Ecce R Unit 1 Past Tenes
Ecce R Unit 1 Past TenesEcce R Unit 1 Past Tenes
Ecce R Unit 1 Past TenesGilmar Mattos
 
matter states
matter statesmatter states
matter statesmatter
 
On-Demand Inspiration
On-Demand InspirationOn-Demand Inspiration
On-Demand InspirationDenise Jacobs
 
Commercial Investments
Commercial InvestmentsCommercial Investments
Commercial InvestmentsMichael Fisher
 
IÑAKI VAZQUEZ
IÑAKI VAZQUEZIÑAKI VAZQUEZ
IÑAKI VAZQUEZlavelada
 
Here, There and Yonder: Where to Meet Your Audience in 2011
Here, There and Yonder: Where to Meet Your Audience in 2011Here, There and Yonder: Where to Meet Your Audience in 2011
Here, There and Yonder: Where to Meet Your Audience in 2011Bob Hazlett
 
Reflecting on Critical Incident 2; Pool Alarm
Reflecting on Critical Incident 2; Pool AlarmReflecting on Critical Incident 2; Pool Alarm
Reflecting on Critical Incident 2; Pool Alarmajones2104
 

Viewers also liked (20)

Tugas laporan proyek aplikasi wanda a &amp; yopy y k
Tugas laporan proyek aplikasi wanda a &amp; yopy y kTugas laporan proyek aplikasi wanda a &amp; yopy y k
Tugas laporan proyek aplikasi wanda a &amp; yopy y k
 
Perl and PHP
Perl and PHPPerl and PHP
Perl and PHP
 
12-security.ppt - PHP and Arabic Language - Index
12-security.ppt - PHP and Arabic Language - Index12-security.ppt - PHP and Arabic Language - Index
12-security.ppt - PHP and Arabic Language - Index
 
Php course-session1
Php course-session1Php course-session1
Php course-session1
 
Stripe in php
Stripe in phpStripe in php
Stripe in php
 
كتاب تعلم Html5 css3
كتاب تعلم Html5 css3كتاب تعلم Html5 css3
كتاب تعلم Html5 css3
 
Thing Tutorial
Thing TutorialThing Tutorial
Thing Tutorial
 
Adv 2 Teens Review For Final Written Exam
Adv 2 Teens Review For Final Written ExamAdv 2 Teens Review For Final Written Exam
Adv 2 Teens Review For Final Written Exam
 
2012 03-27 developers e-commercedag presentatie2 drupal
2012 03-27 developers e-commercedag presentatie2 drupal2012 03-27 developers e-commercedag presentatie2 drupal
2012 03-27 developers e-commercedag presentatie2 drupal
 
Creativity (R)Evolution - ThatConference 2013
Creativity (R)Evolution - ThatConference 2013Creativity (R)Evolution - ThatConference 2013
Creativity (R)Evolution - ThatConference 2013
 
InnoGage EduWeb Conference UGC - Tapping The Power
InnoGage   EduWeb Conference UGC - Tapping The PowerInnoGage   EduWeb Conference UGC - Tapping The Power
InnoGage EduWeb Conference UGC - Tapping The Power
 
The Creativity (R)Evolution - UX Week 2014
The Creativity (R)Evolution -  UX Week 2014The Creativity (R)Evolution -  UX Week 2014
The Creativity (R)Evolution - UX Week 2014
 
Milieuproblematiek
MilieuproblematiekMilieuproblematiek
Milieuproblematiek
 
Ecce R Unit 1 Past Tenes
Ecce R Unit 1 Past TenesEcce R Unit 1 Past Tenes
Ecce R Unit 1 Past Tenes
 
matter states
matter statesmatter states
matter states
 
On-Demand Inspiration
On-Demand InspirationOn-Demand Inspiration
On-Demand Inspiration
 
Commercial Investments
Commercial InvestmentsCommercial Investments
Commercial Investments
 
IÑAKI VAZQUEZ
IÑAKI VAZQUEZIÑAKI VAZQUEZ
IÑAKI VAZQUEZ
 
Here, There and Yonder: Where to Meet Your Audience in 2011
Here, There and Yonder: Where to Meet Your Audience in 2011Here, There and Yonder: Where to Meet Your Audience in 2011
Here, There and Yonder: Where to Meet Your Audience in 2011
 
Reflecting on Critical Incident 2; Pool Alarm
Reflecting on Critical Incident 2; Pool AlarmReflecting on Critical Incident 2; Pool Alarm
Reflecting on Critical Incident 2; Pool Alarm
 

Similar to CSS3: Ripe and Ready

CSS3: Are you experienced?
CSS3: Are you experienced?CSS3: Are you experienced?
CSS3: Are you experienced?Denise Jacobs
 
Html5 Whats around the bend
Html5 Whats around the bendHtml5 Whats around the bend
Html5 Whats around the bendRaj Lal
 
Web Design Trends 2010 - What Is CSS3 All About?
Web Design Trends 2010 - What Is CSS3 All About?Web Design Trends 2010 - What Is CSS3 All About?
Web Design Trends 2010 - What Is CSS3 All About?Alexandra Lo Cascio
 
A brief look at CSS3 techniques by Aaron Rodgers, Web Designer @ vzaar.com
A brief look at CSS3 techniques by Aaron Rodgers, Web Designer @ vzaar.comA brief look at CSS3 techniques by Aaron Rodgers, Web Designer @ vzaar.com
A brief look at CSS3 techniques by Aaron Rodgers, Web Designer @ vzaar.comapplicake
 
Trendsetting: Web Design and Beyond
Trendsetting: Web Design and BeyondTrendsetting: Web Design and Beyond
Trendsetting: Web Design and BeyondAndy Stratton
 
Advanced CSS Troubleshooting
Advanced CSS TroubleshootingAdvanced CSS Troubleshooting
Advanced CSS TroubleshootingDenise Jacobs
 
CSS Framework + Progressive Enhacements
CSS Framework + Progressive EnhacementsCSS Framework + Progressive Enhacements
CSS Framework + Progressive EnhacementsMario Hernandez
 
Ease into HTML5 and CSS3
Ease into HTML5 and CSS3Ease into HTML5 and CSS3
Ease into HTML5 and CSS3Brian Moon
 
Advanced sass/compass
Advanced sass/compassAdvanced sass/compass
Advanced sass/compassNick Cooley
 
Website trends 2012 presentation
Website trends 2012 presentationWebsite trends 2012 presentation
Website trends 2012 presentationFresh_Egg
 
Adobe MAX 2008: HTML/CSS + Fireworks
Adobe MAX 2008: HTML/CSS + FireworksAdobe MAX 2008: HTML/CSS + Fireworks
Adobe MAX 2008: HTML/CSS + FireworksNathan Smith
 
[WebVisions 2010] CSS3 Workshop (Afternoon)
[WebVisions 2010] CSS3 Workshop (Afternoon)[WebVisions 2010] CSS3 Workshop (Afternoon)
[WebVisions 2010] CSS3 Workshop (Afternoon)Christopher Schmitt
 
A Responsive Design Case Study - What We Did Wrong Building ResponsiveDesign....
A Responsive Design Case Study - What We Did Wrong Building ResponsiveDesign....A Responsive Design Case Study - What We Did Wrong Building ResponsiveDesign....
A Responsive Design Case Study - What We Did Wrong Building ResponsiveDesign....Aidan Foster
 
Girl Develop It Cincinnati: Intro to HTML/CSS Class 4
Girl Develop It Cincinnati: Intro to HTML/CSS Class 4Girl Develop It Cincinnati: Intro to HTML/CSS Class 4
Girl Develop It Cincinnati: Intro to HTML/CSS Class 4Erin M. Kidwell
 
Rockstar Graphics with HTML5
Rockstar Graphics with HTML5Rockstar Graphics with HTML5
Rockstar Graphics with HTML5Dave Balmer
 
Rich and Beautiful: Making Attractive Apps in HTML5 [Wpg 2013]
Rich and Beautiful: Making Attractive Apps in HTML5 [Wpg 2013]Rich and Beautiful: Making Attractive Apps in HTML5 [Wpg 2013]
Rich and Beautiful: Making Attractive Apps in HTML5 [Wpg 2013]David Wesst
 

Similar to CSS3: Ripe and Ready (20)

Intro to CSS3
Intro to CSS3Intro to CSS3
Intro to CSS3
 
CSS3: Are you experienced?
CSS3: Are you experienced?CSS3: Are you experienced?
CSS3: Are you experienced?
 
Html5 Whats around the bend
Html5 Whats around the bendHtml5 Whats around the bend
Html5 Whats around the bend
 
Web Design Trends 2010 - What Is CSS3 All About?
Web Design Trends 2010 - What Is CSS3 All About?Web Design Trends 2010 - What Is CSS3 All About?
Web Design Trends 2010 - What Is CSS3 All About?
 
A brief look at CSS3 techniques by Aaron Rodgers, Web Designer @ vzaar.com
A brief look at CSS3 techniques by Aaron Rodgers, Web Designer @ vzaar.comA brief look at CSS3 techniques by Aaron Rodgers, Web Designer @ vzaar.com
A brief look at CSS3 techniques by Aaron Rodgers, Web Designer @ vzaar.com
 
Sass compass
Sass compassSass compass
Sass compass
 
Trendsetting: Web Design and Beyond
Trendsetting: Web Design and BeyondTrendsetting: Web Design and Beyond
Trendsetting: Web Design and Beyond
 
Advanced CSS Troubleshooting
Advanced CSS TroubleshootingAdvanced CSS Troubleshooting
Advanced CSS Troubleshooting
 
CSS3 3D Workshop
CSS3 3D WorkshopCSS3 3D Workshop
CSS3 3D Workshop
 
CSS Framework + Progressive Enhacements
CSS Framework + Progressive EnhacementsCSS Framework + Progressive Enhacements
CSS Framework + Progressive Enhacements
 
The Future of CSS
The Future of CSSThe Future of CSS
The Future of CSS
 
Ease into HTML5 and CSS3
Ease into HTML5 and CSS3Ease into HTML5 and CSS3
Ease into HTML5 and CSS3
 
Advanced sass/compass
Advanced sass/compassAdvanced sass/compass
Advanced sass/compass
 
Website trends 2012 presentation
Website trends 2012 presentationWebsite trends 2012 presentation
Website trends 2012 presentation
 
Adobe MAX 2008: HTML/CSS + Fireworks
Adobe MAX 2008: HTML/CSS + FireworksAdobe MAX 2008: HTML/CSS + Fireworks
Adobe MAX 2008: HTML/CSS + Fireworks
 
[WebVisions 2010] CSS3 Workshop (Afternoon)
[WebVisions 2010] CSS3 Workshop (Afternoon)[WebVisions 2010] CSS3 Workshop (Afternoon)
[WebVisions 2010] CSS3 Workshop (Afternoon)
 
A Responsive Design Case Study - What We Did Wrong Building ResponsiveDesign....
A Responsive Design Case Study - What We Did Wrong Building ResponsiveDesign....A Responsive Design Case Study - What We Did Wrong Building ResponsiveDesign....
A Responsive Design Case Study - What We Did Wrong Building ResponsiveDesign....
 
Girl Develop It Cincinnati: Intro to HTML/CSS Class 4
Girl Develop It Cincinnati: Intro to HTML/CSS Class 4Girl Develop It Cincinnati: Intro to HTML/CSS Class 4
Girl Develop It Cincinnati: Intro to HTML/CSS Class 4
 
Rockstar Graphics with HTML5
Rockstar Graphics with HTML5Rockstar Graphics with HTML5
Rockstar Graphics with HTML5
 
Rich and Beautiful: Making Attractive Apps in HTML5 [Wpg 2013]
Rich and Beautiful: Making Attractive Apps in HTML5 [Wpg 2013]Rich and Beautiful: Making Attractive Apps in HTML5 [Wpg 2013]
Rich and Beautiful: Making Attractive Apps in HTML5 [Wpg 2013]
 

More from Denise Jacobs

Amplify-U: Cultivating Career Confidence Through Banishing Your Inner Critic ...
Amplify-U: Cultivating Career Confidence Through Banishing Your Inner Critic ...Amplify-U: Cultivating Career Confidence Through Banishing Your Inner Critic ...
Amplify-U: Cultivating Career Confidence Through Banishing Your Inner Critic ...Denise Jacobs
 
Banish Your Inner Critic: Transform Self-Talk - IABC Southern Region Conferen...
Banish Your Inner Critic: Transform Self-Talk - IABC Southern Region Conferen...Banish Your Inner Critic: Transform Self-Talk - IABC Southern Region Conferen...
Banish Your Inner Critic: Transform Self-Talk - IABC Southern Region Conferen...Denise Jacobs
 
Banish Your Inner Critic: Transform Self-Talk and Own Your Expertise - UX Hus...
Banish Your Inner Critic: Transform Self-Talk and Own Your Expertise - UX Hus...Banish Your Inner Critic: Transform Self-Talk and Own Your Expertise - UX Hus...
Banish Your Inner Critic: Transform Self-Talk and Own Your Expertise - UX Hus...Denise Jacobs
 
How to Have Difficult Conversations With Confidence - MTP Digital 2020
How to Have Difficult Conversations With Confidence -  MTP Digital 2020How to Have Difficult Conversations With Confidence -  MTP Digital 2020
How to Have Difficult Conversations With Confidence - MTP Digital 2020Denise Jacobs
 
Overcome Self-Doubt to Amplify Your Impact and Create a Better World - GSLA 202
Overcome Self-Doubt to Amplify Your Impact and Create a Better World  - GSLA 202Overcome Self-Doubt to Amplify Your Impact and Create a Better World  - GSLA 202
Overcome Self-Doubt to Amplify Your Impact and Create a Better World - GSLA 202Denise Jacobs
 
Banish Your Inner Critic: Reduce Anxiety - Nonprofit Storytelling Conference ...
Banish Your Inner Critic: Reduce Anxiety - Nonprofit Storytelling Conference ...Banish Your Inner Critic: Reduce Anxiety - Nonprofit Storytelling Conference ...
Banish Your Inner Critic: Reduce Anxiety - Nonprofit Storytelling Conference ...Denise Jacobs
 
Banish Your Inner Critic: Unblock Creativity and Amplify Your Impact - Produc...
Banish Your Inner Critic: Unblock Creativity and Amplify Your Impact - Produc...Banish Your Inner Critic: Unblock Creativity and Amplify Your Impact - Produc...
Banish Your Inner Critic: Unblock Creativity and Amplify Your Impact - Produc...Denise Jacobs
 
Banish Your Inner Critic: Transform Self-Talk and Own Your Expertise - Speake...
Banish Your Inner Critic: Transform Self-Talk and Own Your Expertise - Speake...Banish Your Inner Critic: Transform Self-Talk and Own Your Expertise - Speake...
Banish Your Inner Critic: Transform Self-Talk and Own Your Expertise - Speake...Denise Jacobs
 
Banish Your Inner Critic – Stanford HCI Group 2020
Banish Your Inner Critic – Stanford HCI Group 2020Banish Your Inner Critic – Stanford HCI Group 2020
Banish Your Inner Critic – Stanford HCI Group 2020Denise Jacobs
 
Banish Your Inner Critic: Reduce Anxiety and Unblock Creativity - Emergent Le...
Banish Your Inner Critic: Reduce Anxiety and Unblock Creativity - Emergent Le...Banish Your Inner Critic: Reduce Anxiety and Unblock Creativity - Emergent Le...
Banish Your Inner Critic: Reduce Anxiety and Unblock Creativity - Emergent Le...Denise Jacobs
 
Banish Your Inner Critic: Reduce anxiety and Unblock Creativity - SpeakAid 2020
Banish Your Inner Critic: Reduce anxiety and Unblock Creativity - SpeakAid 2020Banish Your Inner Critic: Reduce anxiety and Unblock Creativity - SpeakAid 2020
Banish Your Inner Critic: Reduce anxiety and Unblock Creativity - SpeakAid 2020Denise Jacobs
 
Banish Your Inner Critic: Elevate Performance - Nonprofit Storytelling Confer...
Banish Your Inner Critic: Elevate Performance - Nonprofit Storytelling Confer...Banish Your Inner Critic: Elevate Performance - Nonprofit Storytelling Confer...
Banish Your Inner Critic: Elevate Performance - Nonprofit Storytelling Confer...Denise Jacobs
 
Co-Create: Creating Better Together - Clarity Conference 2019
Co-Create: Creating Better Together - Clarity Conference 2019Co-Create: Creating Better Together - Clarity Conference 2019
Co-Create: Creating Better Together - Clarity Conference 2019Denise Jacobs
 
Banish Your Inner Critic: Amplify Your Impact - Mind The Product SF 2019
Banish Your Inner Critic: Amplify Your Impact - Mind The Product SF 2019Banish Your Inner Critic: Amplify Your Impact - Mind The Product SF 2019
Banish Your Inner Critic: Amplify Your Impact - Mind The Product SF 2019Denise Jacobs
 
Step-up: Unleash Your Creative (Super) Power - D3 Expo 2019
Step-up: Unleash Your Creative (Super) Power - D3 Expo 2019Step-up: Unleash Your Creative (Super) Power - D3 Expo 2019
Step-up: Unleash Your Creative (Super) Power - D3 Expo 2019Denise Jacobs
 
Banish Your Inner Critic: Hack Your Productivity and Elevate Performance
Banish Your Inner Critic: Hack Your Productivity and Elevate PerformanceBanish Your Inner Critic: Hack Your Productivity and Elevate Performance
Banish Your Inner Critic: Hack Your Productivity and Elevate PerformanceDenise Jacobs
 
Banish Your Inner Critic v2.0: Swipe Left! - Adobe Max 2018
Banish Your Inner Critic v2.0: Swipe Left!  - Adobe Max 2018Banish Your Inner Critic v2.0: Swipe Left!  - Adobe Max 2018
Banish Your Inner Critic v2.0: Swipe Left! - Adobe Max 2018Denise Jacobs
 
The Creativity (R)Evolution – CMX Summit 2018
The Creativity (R)Evolution – CMX Summit 2018The Creativity (R)Evolution – CMX Summit 2018
The Creativity (R)Evolution – CMX Summit 2018Denise Jacobs
 
Banish Your Inner Critic v2.0: Swipe Left! – IIBA Columbus 2018
Banish Your Inner Critic v2.0: Swipe Left! – IIBA Columbus 2018Banish Your Inner Critic v2.0: Swipe Left! – IIBA Columbus 2018
Banish Your Inner Critic v2.0: Swipe Left! – IIBA Columbus 2018Denise Jacobs
 
Co-Create: Creating Better Together - DevCamp Brazil 2018
Co-Create: Creating Better Together - DevCamp Brazil 2018Co-Create: Creating Better Together - DevCamp Brazil 2018
Co-Create: Creating Better Together - DevCamp Brazil 2018Denise Jacobs
 

More from Denise Jacobs (20)

Amplify-U: Cultivating Career Confidence Through Banishing Your Inner Critic ...
Amplify-U: Cultivating Career Confidence Through Banishing Your Inner Critic ...Amplify-U: Cultivating Career Confidence Through Banishing Your Inner Critic ...
Amplify-U: Cultivating Career Confidence Through Banishing Your Inner Critic ...
 
Banish Your Inner Critic: Transform Self-Talk - IABC Southern Region Conferen...
Banish Your Inner Critic: Transform Self-Talk - IABC Southern Region Conferen...Banish Your Inner Critic: Transform Self-Talk - IABC Southern Region Conferen...
Banish Your Inner Critic: Transform Self-Talk - IABC Southern Region Conferen...
 
Banish Your Inner Critic: Transform Self-Talk and Own Your Expertise - UX Hus...
Banish Your Inner Critic: Transform Self-Talk and Own Your Expertise - UX Hus...Banish Your Inner Critic: Transform Self-Talk and Own Your Expertise - UX Hus...
Banish Your Inner Critic: Transform Self-Talk and Own Your Expertise - UX Hus...
 
How to Have Difficult Conversations With Confidence - MTP Digital 2020
How to Have Difficult Conversations With Confidence -  MTP Digital 2020How to Have Difficult Conversations With Confidence -  MTP Digital 2020
How to Have Difficult Conversations With Confidence - MTP Digital 2020
 
Overcome Self-Doubt to Amplify Your Impact and Create a Better World - GSLA 202
Overcome Self-Doubt to Amplify Your Impact and Create a Better World  - GSLA 202Overcome Self-Doubt to Amplify Your Impact and Create a Better World  - GSLA 202
Overcome Self-Doubt to Amplify Your Impact and Create a Better World - GSLA 202
 
Banish Your Inner Critic: Reduce Anxiety - Nonprofit Storytelling Conference ...
Banish Your Inner Critic: Reduce Anxiety - Nonprofit Storytelling Conference ...Banish Your Inner Critic: Reduce Anxiety - Nonprofit Storytelling Conference ...
Banish Your Inner Critic: Reduce Anxiety - Nonprofit Storytelling Conference ...
 
Banish Your Inner Critic: Unblock Creativity and Amplify Your Impact - Produc...
Banish Your Inner Critic: Unblock Creativity and Amplify Your Impact - Produc...Banish Your Inner Critic: Unblock Creativity and Amplify Your Impact - Produc...
Banish Your Inner Critic: Unblock Creativity and Amplify Your Impact - Produc...
 
Banish Your Inner Critic: Transform Self-Talk and Own Your Expertise - Speake...
Banish Your Inner Critic: Transform Self-Talk and Own Your Expertise - Speake...Banish Your Inner Critic: Transform Self-Talk and Own Your Expertise - Speake...
Banish Your Inner Critic: Transform Self-Talk and Own Your Expertise - Speake...
 
Banish Your Inner Critic – Stanford HCI Group 2020
Banish Your Inner Critic – Stanford HCI Group 2020Banish Your Inner Critic – Stanford HCI Group 2020
Banish Your Inner Critic – Stanford HCI Group 2020
 
Banish Your Inner Critic: Reduce Anxiety and Unblock Creativity - Emergent Le...
Banish Your Inner Critic: Reduce Anxiety and Unblock Creativity - Emergent Le...Banish Your Inner Critic: Reduce Anxiety and Unblock Creativity - Emergent Le...
Banish Your Inner Critic: Reduce Anxiety and Unblock Creativity - Emergent Le...
 
Banish Your Inner Critic: Reduce anxiety and Unblock Creativity - SpeakAid 2020
Banish Your Inner Critic: Reduce anxiety and Unblock Creativity - SpeakAid 2020Banish Your Inner Critic: Reduce anxiety and Unblock Creativity - SpeakAid 2020
Banish Your Inner Critic: Reduce anxiety and Unblock Creativity - SpeakAid 2020
 
Banish Your Inner Critic: Elevate Performance - Nonprofit Storytelling Confer...
Banish Your Inner Critic: Elevate Performance - Nonprofit Storytelling Confer...Banish Your Inner Critic: Elevate Performance - Nonprofit Storytelling Confer...
Banish Your Inner Critic: Elevate Performance - Nonprofit Storytelling Confer...
 
Co-Create: Creating Better Together - Clarity Conference 2019
Co-Create: Creating Better Together - Clarity Conference 2019Co-Create: Creating Better Together - Clarity Conference 2019
Co-Create: Creating Better Together - Clarity Conference 2019
 
Banish Your Inner Critic: Amplify Your Impact - Mind The Product SF 2019
Banish Your Inner Critic: Amplify Your Impact - Mind The Product SF 2019Banish Your Inner Critic: Amplify Your Impact - Mind The Product SF 2019
Banish Your Inner Critic: Amplify Your Impact - Mind The Product SF 2019
 
Step-up: Unleash Your Creative (Super) Power - D3 Expo 2019
Step-up: Unleash Your Creative (Super) Power - D3 Expo 2019Step-up: Unleash Your Creative (Super) Power - D3 Expo 2019
Step-up: Unleash Your Creative (Super) Power - D3 Expo 2019
 
Banish Your Inner Critic: Hack Your Productivity and Elevate Performance
Banish Your Inner Critic: Hack Your Productivity and Elevate PerformanceBanish Your Inner Critic: Hack Your Productivity and Elevate Performance
Banish Your Inner Critic: Hack Your Productivity and Elevate Performance
 
Banish Your Inner Critic v2.0: Swipe Left! - Adobe Max 2018
Banish Your Inner Critic v2.0: Swipe Left!  - Adobe Max 2018Banish Your Inner Critic v2.0: Swipe Left!  - Adobe Max 2018
Banish Your Inner Critic v2.0: Swipe Left! - Adobe Max 2018
 
The Creativity (R)Evolution – CMX Summit 2018
The Creativity (R)Evolution – CMX Summit 2018The Creativity (R)Evolution – CMX Summit 2018
The Creativity (R)Evolution – CMX Summit 2018
 
Banish Your Inner Critic v2.0: Swipe Left! – IIBA Columbus 2018
Banish Your Inner Critic v2.0: Swipe Left! – IIBA Columbus 2018Banish Your Inner Critic v2.0: Swipe Left! – IIBA Columbus 2018
Banish Your Inner Critic v2.0: Swipe Left! – IIBA Columbus 2018
 
Co-Create: Creating Better Together - DevCamp Brazil 2018
Co-Create: Creating Better Together - DevCamp Brazil 2018Co-Create: Creating Better Together - DevCamp Brazil 2018
Co-Create: Creating Better Together - DevCamp Brazil 2018
 

Recently uploaded

Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkPixlogix Infotech
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesBernd Ruecker
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Nikki Chapple
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationKnoldus Inc.
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Kaya Weers
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesManik S Magar
 

Recently uploaded (20)

Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App Framework
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architectures
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
 

CSS3: Ripe and Ready

  • 1. CSS3: Ripe & Ready! Denise Jacobs // 1 Rich Web Experience // December 1, 2011
  • 2. Sweet Tweets Who I am: @denisejacobs This fine event: #rwx2011 @nofluff What I’m talkin’ ‘bout: #css3ripe 2
  • 3. A little about me Denise 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 InterAct with Web Standards: A Holistic Approach to Web Design. She is a Consultant Web Design Trainer and Creativity Evangelist based in Miami, Florida. 3 CSSDetectiveGuide.com & InterActWithWebStandards.com
  • 8. Start here… 1. Know Your CSS3 • Getting started • What’s new • Rules of the road • Helping tools and scripts • Properties • Standard effects • Advanced effects • Selectors 8
  • 10. What’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. 10
  • 11. CSS3 Modularity CSS3 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. 11
  • 12. CSS3 Modularity: Benefits • Browser producers can now implement CSS3 module by module • Speeds up the browser implementation process • Encourages innovation 12
  • 13. The CSS3 Modules • Template Layout • Values and Units • Backgrounds and Borders • Web Fonts • Ruby • Behavioral Extensions to CSS • Basic User Interface • Line Layout • Basic Box Model • Flexible Box Layout • Grid Positioning • Image Values • Speech • 2D Transformations • Marquee • Multi-column Layout • Style Attribute Syntax • 3D Transformations • Cascading and Inheritance • Namespaces • Color • Transitions • Fonts • Animations • Text • View Module • Generated Content for Paged • Media Queries Media • Paged Media • Generated and Replaced • Selectors Content 13
  • 14. Resources: New in CSS3 http://www.w3.org/TR/tr-groups-all# tr_Cascading_Style_Sheets__CSS__ Working_Group 14
  • 15. Colors 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) 15
  • 16. RGBA Color Alpha opacity: 0.0 = 0% = no opacity 1.0 = 100% = full opacity 16
  • 17. Colors in CSS3: HSL HSL stands for hue, saturation, and luminosity (lightness) • Regular HSL hsl(x%, x%, x%): ex. hsl(0, 100%, 50%) • HSL with alpha-opacity hsla(x%, x%, x%, y): ex. hsla(0, 100%, 50%, 0.5) 17
  • 18. HSL Color Wheel 0º – Red 60º – Yellow 120º – Green 180º – Cyan 240º – Blue 300º – Magenta 18
  • 19. HSL Color Picker Tool http://www.workwithcolor.com/hsl-color-picker-01.htm 19
  • 20. Getting Started with CSS3: The Rules of the Road 20
  • 21. CSS3 Browser Compatibility 21 http://www.flickr.com/photos/sfllaw/222795669/
  • 22. The 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 22
  • 23. Code bloat in action Ideally: Reality: a.polaroid:active { a.polaroid:active { z-index: 999; z-index: 999; border-color: #6A6A6A; border-color: #6A6A6A; box-shadow: 15px 15px 20px -webkit-box-shadow: 15px rgba(0,0, 0, 0.4); 15px 20px rgba(0,0, 0, transform: rotate(0deg) 0.4); scale(1.05); -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); } 23
  • 24. None of the older IEs support CSS3 …as in “not any.” 6 7 8 24 http://www.flickr.com/photos/johnsnape/4258191545/
  • 26. IE9 now supports CSS3 …But still not as fully as the other browsers yet. 26
  • 27. Resources: IE9 CSS3 support http://msdn.microsoft.com/en- us/ie/ff468705.aspx#_Web_standards_sup port http://msdn.microsoft.com/en- us/library/cc351024%28v=vs.85%29.aspx http://www.impressivewebs.com/css3- support-ie9/ 27
  • 28. Tools you’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 28
  • 29. CSS3 Property browser support charts http://www.findmebyip.com/ litmus 29
  • 30. CSS3 Selector browser support charts http://www.standardista.com/css3/ css3-selector-browser-support 30
  • 31. The CSS3 Specifications The 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 31
  • 32. Cross-browser testers http://tredosoft.com/Multiple_IE http://crossbrowsertesting.com/ (paid) http://browsershots.org/ (free) 32
  • 33. CSS3 & Cross- browser Coding 33 http://www.flickr.com/photos/scfiasco/4490322916/
  • 34. The Goal: Code that works in all most browsers 34
  • 35. Not all browsers are created equal 35
  • 36. How can we achieve compatibility? 36 http://www.flickr.com/photos/barretthall/205175534/
  • 37. Steps to get as close as possible 1. Leverage source order 2. Filter it 3. Let tools do all of the work 37
  • 38. Leverage source order • 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. 38
  • 39. A Proper Stack .gradient { color: #fff; 39
  • 40. A Proper Stack .gradient { color: #fff; background: #aaaaaa url(gradient_slice.jpg) 0 0 x-repeat; /*fallback background color & image*/ 40
  • 41. 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 */ 41
  • 42. 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 */ 42
  • 43. 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(sta rtColorStr='#07407c', EndColorStr='#aaaaaa')"; /* filter for IE8 (& IE9) */ 43
  • 44. 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(sta rtColorStr='#07407c', EndColorStr='#aaaaaa')"; /* filter for IE8 (& IE9) */ filter: progid:DXImageTransform.Microsoft.gradient(star tColorStr='#07407c', EndColorStr='#aaaaaa'); } /* filter for IE7 and lower */ 44
  • 45. Apply a Filter • 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. 45
  • 46. Filters: {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 46
  • 47. Resources: IE Filters Microsoft Visual Filters and Transitions Reference http://msdn.microsoft.com/en-us/library/ ms532853%28v=VS.85%29.aspx 47
  • 48. Let the tools do the work • We’ll talk about those next! 48
  • 49. CSS3 Tools 49 http://www.flickr.com/photos/johnsnape/4258191545/
  • 50. Useful CSS3 Tools 1. CSS3 Generators 2. Helper Scripts 3. Browser Feature Detection 4. Templates 50
  • 51. CSS3 Generators 51 http://www.flickr.com/photos/latca/841730130/
  • 55. CSS3 Tools at WestCiv 55 http://westciv.com/tools/
  • 56. More CSS3 Generators http://border-radius.com http://www.colorzilla.com/ gradient-editor/ http://csscorners.com http://border-image.com 56
  • 57. Helper Scripts 57 http://www.flickr.com/photos/keystricken/386106987/
  • 58. Get a helping hand… These scripts help IE lt 8 behave like CSS3- compliant browsers. However, support of CSS3 properties varies between scripts. 58
  • 59. ie-7.js (includes IE8 and IE9) 59 http://code.google.com/p/ie7-js/
  • 61. CSS Sandpaper 61 http://www.useragentman.com/blog/csssandpaper-a-css3-javascript-library/
  • 62. Browser Feature Detection 62 http://www.flickr.com/photos/johnsnape/4258191545/
  • 64. What does Modernizr 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! 64
  • 65. How to use Modernizr http://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/ 65
  • 66. Templates 66 http://www.flickr.com/photos/jazzmasterson/275796175/
  • 67. HTML5Boilerplate.com Paul Irish’s HTML5 template file http://html5boilerplate.com/ 67
  • 70. @font-face 70 http://lostworldsfairs.com/moon/
  • 71. @font-face • 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 71
  • 72. @font-face bug: IE lt 8 @font-face super bullet-proofing The problem: @font-face doesn’t work, even with the proper normal syntax. What gives? 72
  • 73. @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. 73
  • 74. Solution: IE proof @font-face + 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; } 74
  • 75. Graceful degradation: @font-face • Desired font should display in all browsers. If not, fallback fonts will display • Extra credit: image replacement through conditional comments 75
  • 76. Graceful degradation: @font-face In modern browsers In IE 8: fallback font 76
  • 77. FontSquirrel.com 77 http://www.fontsquirrel.com/fontface/generator
  • 78. Webfont Services Instead of generating the webfonts yourself, you can pay a service where the webfonts are hosted elsewhere, and you link to them and use the fonts on their server. 78
  • 79. Webfont Services 79 http://www.typekit.com
  • 80. Webfont Services http://www.typotheque http://www.webtype.com .com/webfonts http://www.fontslive.com http://typekit.com http://www.extensis.com/en http://fontdeck.com /WebINK/ http://kernest.com http://webfonts.fonts.com http://www.ascenderfonts http://webfonts.info/wiki/in .com/webfonts/ dex.php?title=Category:W ebfont_Services 80
  • 81. Google Font Directory http://code.google.com/webfonts 81
  • 82. Google Font API Method 1: Head Link <link href='http://fonts.googleapis.com/css?f amily=IM+Fell+DW+Pica' rel='stylesheet' type='text/css'> #headline h1 { text-align: center; font-size: 8em; color: #111; text-shadow: 0px 2px 3px #555; font-family: 'IM Fell DW Pica', arial, serif; } That’s it! Just two copy and paste actions and you’ve got 82 yourself a fancy new webfont.
  • 83. Google Font API Method 2: @Import @import url(http://fonts.googleapis.com/cs s?family=Inconsolata); Simply paste this into the very top of your CSS page, then copy the font-family CSS snippet and paste. 83
  • 84. Resources: @font-face • http://www.delicious.com/denisejacobs/ font-face 84
  • 85. @font-face Resources • http://www.fontsquirrel.com/ • http://code.google.com/apis/webfonts/doc s/getting_started.html 85
  • 86. New Visual Effects in CSS3 86
  • 87. New Visual Effects in CSS3 • border-radius • rgba color • box-shadow • text-shadow • gradient 87
  • 88. border-radius 88 http://oh-hai.biz
  • 90. border-radius • Tips & issues – Different syntax for mozilla, webkit, and opera browsers • Browser Support – IE lt 8 does not support, IE9 does 90
  • 91. border-radius Syntax comparison breakdown: • -moz allows multiple values for each position • -webkit individual values 91 • Standard is like mozilla
  • 92. border-radius #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; } 92
  • 93. Graceful Degradation: border-radius • Square corners are okay • Extra credit: serve images through conditional comments 93
  • 94. Graceful Degradation: border-radius In modern browsers In IE 7, image replacement through conditional comments 94
  • 95. Graceful Degradation: border-radius In modern browsers In IE 6, no image replacement 95
  • 97. border-radius Resources http://www.delicious.com/denisejacobs/ border-radius 97
  • 98. rgba 98 http://aarronwalter.com/designer/
  • 99. rgba • 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. 99
  • 100. Cross-browser: rgba • Place after regular rgb color property to override in modern browsers; older browsers will ignore it • IE lt 8 bug: use the property background instead of background-color for the regular color 100
  • 101. Graceful degradation: rgba In modern browsers In IE 7, no rgba 101
  • 102. 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); -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 */ } 102
  • 103. Inspiration: rgba • http://aarronwalter.com/2010/11/01/color- mixing-with-rgba/ 103
  • 104. box-shadow 104 http://badassideas.com/work/
  • 105. box-shadow • 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) 105
  • 106. box-shadow .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); } 106
  • 107. 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.Shad ow(Strength=4, Direction=135, Color='#333333')"; /* For IE 8 */ filter: progid:DXImageTransform.Microsoft.Shado w(Strength=4, Direction=135, Color='#333333'); /* For IE 5.5 - 7 */ } 107
  • 108. Graceful degradation: box-shadow • Okay if users don’t see effect, doesn’t affect usability of the page. • However, 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 didn’t want to use the filter. 108
  • 109. Graceful degradation: box-shadow In modern browsers In IE 7, sans box shadow 109
  • 110. Inspiration: box-shadow 110 http://nicolasgallagher.com/css-drop-shadows-without-images/demo/
  • 111. Resources: box-shadow http://www.delicious.com/denisejacobs/ box-shadow 111
  • 112. text-shadow 112 http://www.bountybev.com
  • 113. text-shadow • 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 113
  • 114. Graceful degradation: text-shadow • If it doesn’t show up, that’s okay • No impact on accessibility • However, there is an IE filter: shadow. • Extra credit: image replacement 114
  • 115. Graceful degradation: text-shadow In modern browsers In IE 7 without text shadow 115
  • 116. Full solution: text-shadow .textshadow h2 { text-shadow:1px 1px 2px rgba(48,80,82,0.8); -ms-filter: "progid:DXImageTransform.Microsoft.Shad ow(Strength=2, Direction=135, Color='#305052')"; /* For IE 8+ */ filter: progid:DXImageTransform.Microsoft.Shado w(Strength=2, Direction=135, Color='#305052'); /* For IE 5.5 - 7 */ } 116
  • 117. Inspiration: text shadow 117 http://www.midwinter-dg.com/blog_demos/css-text-shadows/
  • 118. Inspiration: text shadow 118 http://desandro.com/articles/the-new-lens-flare/
  • 119. Resources: text-shadow http://www.delicious.com/denisejacobs/ text-shadow 119
  • 120. gradient 120 http://raymondjay.com/
  • 121. Old skool: Gradient background 121
  • 122. gradient • 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 122
  • 123. gradient #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)); } 123
  • 124. Graceful degradation: gradient • Gradient will not appear older browsers • Establish fallback background image first in code 124
  • 125. Graceful degradation: gradient In modern browsers In IE, with fallback image; conditional comment for rounded corners 125
  • 126. gradient: 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,left top,left bottom,color-stop(0, #07407c),color- stop(1, #aaaaaa)); -ms-filter: "progid:DXImageTransform.Microsoft.gradient(sta rtColorStr='#07407c', EndColorStr='#aaaaaa')"; /* IE8+ */ filter: progid:DXImageTransform.Microsoft.gradient(star tColorStr='#07407c', EndColorStr='#aaaaaa'); /* IE7- */ } 126
  • 127. Inspiration: gradients 127 http://leaverou.me/css3patterns/
  • 128. Inspiration: gradients http://leaverou.me/2011/03/beveled-corners-negative-border-radius-with-css3-gradients/ 128
  • 129. Colorzilla gradient tool 129 http://www.colorzilla.com/gradient-editor/
  • 130. Tools: gradient http://www.colorzilla.com/gradient-editor/ http://www.westciv.com/tools/gradients/ http://css3please.com http://css3generator.com 130
  • 131. Resources: gradient http://www.delicious.com/denisejacobs/ gradient 131
  • 132. Advanced Visual Effects in CSS3 132
  • 133. CSS3 for Advanced Visual Presentation 1. border-image 2. multiple background images 3. background-size 4. multiple text columns 133
  • 134. border-image 134 http://www.spoongraphics.com/blog/
  • 135. border-image Borders 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 135 – The IEs do not support
  • 136. border-image div.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; } 136
  • 138. Resources: border-image http://www.delicious.com/denisejacobs/ border-image 138
  • 139. Multiple backgrounds 139 http://www.lostworldsfairs.com
  • 140. Multiple 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 140
  • 141. Multiple backgrounds body { 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)); } 141
  • 142. Resources: multiple backgrounds http://www.delicious.com/denisejacobs/ multiplebackgrounds 142
  • 143. background-size 143 http://www.alistapart.com/articles/supersize-that-background-please/
  • 144. background-size You 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 144
  • 145. background-size values contain • Scales the image, while preserving its intrinsic aspect ratio (if any), to the largest size such that both its width and its height can fit inside the background positioning area. Contain always fits the entire image within your viewport, leaving opaque borders on either the top-bottom or the left-right whenever the ratio of the background image and browser window are not the 145
  • 146. background-size values cover • Scales the image, while preserving its intrinsic aspect ratio (if any), to the smallest size such that both its width and its height can completely cover the background positioning area. Cover always fills the browser window. You can control how your image is aligned within the viewport by using the background-position property. 146
  • 147. background-size Example: 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; } 147
  • 149. Resources: background-size • 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 149
  • 150. masks 150 http://webkit.org/blog/181/css-masks/
  • 151. masks • Masks allow you to overlay the content of a box with a pattern that can be used to knock out portions of that box in the final display. • Masks work ONLY in Webkit browsers. • You can use other images, gradients, and 151
  • 152. mask types New mask properties: -webkit-mask (background) -webkit-mask-attachment (background-attachment) -webkit-mask-clip (background- clip) -webkit-mask-origin (background- origin) -webkit-mask-image (background- image) -webkit-mask-repeat (background- repeat) -webkit-mask-composite (background-composite) -webkit-mask-box-image (border- image) 152
  • 153. masks Example code: Using an image <img src="kate.png" style="-webkit- mask-box-image: url(mask.png) 75 stretch;"> Using a gradient <img src="kate.png" style="-webkit- mask-image: -webkit- gradient(linear, left top, left bottom, from(rgba(0,0,0,1)), to(rgba(0,0,0,0)))"> 153
  • 154. Resources: masks http://www.delicious.com/denisejacobs/mas ks 154
  • 155. box-reflect 155 http://lab.simurai.com/css/umbrui/
  • 156. box-reflect • A reflection is a replica of the original object with its own specific transform and mask. • Reflections will update automatically as the source changes. If you hover over links, you’ll see the hover effect happen in the reflection. • The reflection will have no effect on layout (other than being part of a container’s 156 overflow)
  • 157. box-reflect: syntax Syntax: -webkit-box-reflect: <direction> <offset> <mask-box-image> <direction> can be one of above, below, left or right. <offset> is a length or percentage that specifies the distance of the reflection from the edge of the original border box (using the direction specified). It can be omitted, in which case it defaults to 0. <mask-box-image> is a mask-box-image that can be used to overlay the reflection. If omitted, the reflection has no mask. 157
  • 158. box-reflect Example: <img src="bubbles.jpg" style="border:5px solid white; -webkit-box-reflect:below 5px; -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(0.5, transparent), to(white));"> 158
  • 159. Resources: box-reflect http://www.delicious.com/denisejacobs/box- reflect 159
  • 160. Multiple text columns 160 http://www.yaili.com
  • 161. Multiple text columns You 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. 161
  • 162. Multiple column properties • Column-number • Column-width • Columns (shorthand) – <‘column-width’> || <‘column-count’> 162
  • 163. Column gap & rule properties • column-gap • Column-rule-width • Column-rule-style • Column-rule-color • Column-rule (shorthand) – <column-rule-width> || <border-style> || [ <color> | transparent ] 163
  • 164. Column span • Can span multiple columns 164
  • 165. Multiple text columns Example: 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; } 165
  • 166. Resources: multiple columns http://www.delicious.com/denisejacobs/ multiplecolumns 166
  • 167. 2d Transformations with CSS3 167
  • 168. transform (2d) 168 http://www.zurb.com/playground/css3-polaroids/
  • 169. transform • Tips & issues – Mozilla, Webkit, and Opera vendor prefixes; no standard yet. • Browser Support – IE lt 8 does not support, but IE9 does 169
  • 170. 2D Transformations Different kinds of transforms: • rotate • scale • skew • translate • matrix 170
  • 171. Transform: graceful 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 171
  • 172. Transform: graceful degradation In modern browsers In IE 7 without transform 172
  • 173. transform/rotate: full solution .rotate { -moz-transform: rotate(-5deg); -webkit-transform: rotate(-5deg); -o-transform: rotate(-5deg); transform: rotate(-5deg); filter: progid:DXImageTransform.Microsoft.Matrix(sizing Method='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; } 173
  • 174. transform: multiple You 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); } 174
  • 175. Resources: 2D transforms http://www.delicious.com/denisejacobs/ transform 175
  • 176. Animation with CSS3 176
  • 177. Animation 1. transitions 2. animation (the webkits only) A Tip: Be subtle – it’s more effective 177
  • 179. transition 179 http://timvandamme.com/
  • 180. transition You 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 180
  • 181. transition Example: #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; } 181
  • 182. Animation 182 http://www.css3exp.com/moon/
  • 183. Animation You 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 183
  • 184. Animation div { animation-name: diagonal-slide; animation-duration: 5s; animation-iteration-count: 10; } @keyframes diagonal-slide { from { left: 0; top: 0; } to { left: 100px; top: 100px; } } 184
  • 185. Resources: Animation http://www.delicious.com/denisejacobs/ animation 185
  • 186. CSS3 Selectors 186 http://www.flickr.com/photos/jamiecampbell/446301597/
  • 187. CSS3 Selectors Advanced 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 187
  • 189. The Hierarchy “Family Tree” • An ancestor is any element that is connected to other elements but is higher up the document tree, no matter how many levels up. For example, in the document above, both the <html> and <body> tags are ancestors of the <p> tag. • A descendant is any element connected to an ancestor, but lower in the document tree, no matter how many levels down. In our example, the <em>, <a>, and <img> are descendants of the <body> tag. • A parent is an element directly above a connected element in the document tree. A parent element is also an ancestor, but an element can have ancestors that are not its parents. • A child element is directly below a connected element. A child is a descendant, but an element can have descendants that are not its children. • Sibling elements share the same parent, and are on the same level as each other in the hierarchy. 189
  • 190. CSS3 Selector Specification • General sibling • Pseudo-elements* E~F *all pseudo-elements indicated with :: in CSS3 • Attribute presence – a[attribute="value"] – a[attribute~="value"] – a[attribute|="value"] • Attribute substrings – a[attribute^="value"] – a[attribute$="value"] – a[attribute*="value"] 190
  • 191. CSS3 Selectors • Pseudo-classes – Structural – Target • :nth-child(n) • :target • :nth-last-child(n) • :nth-of-type(n) • :nth-last-of-type(n) – Negation • :last-child • :not(s) • :first-of-type • :last-of-type – State • :only-child • :enabled • :only-of-type • :disabled • :empty • :checked • :indeterminate 191
  • 192. CSS3 Selector Support 192 http://www.findmebyip.com/litmus
  • 193. Combinator Selectors: General Sibling A general sibling selector (also known as adjacent) selects an element that shares the same parent as another element in the document tree. Syntax: sibling selector ~ sibling selector {property: value; } E ~ F Example: p ~ dd {font-family: Georgia, 193 serif;}
  • 194. Combinator Selectors: Attribute presence selector[attribute="value"] targets a selector with a particular attribute and specific value. Example: img[src=“catchathief.jpg”] {border: 1px solid #999; } selector [attribute~="value"] targets a selector with a particular attribute and value where the value is one of multiple values separated by a space. Example img[alt~="CSI"] {border: 1px #ff8000 solid;} 194
  • 195. Combinator Selectors: Attribute presence selector [attribute|="value"] targets an element with an attribute that contains values separated by a hypen in a list. Example: img[title|="large"] {border: 1px solid #000; } 195
  • 196. Combinator Selectors: Attribute substrings selector [attribute^="value"] targets an element with an attribute that begins with a prefix of “value”. Example: img[title^=“th_"] { border: 1px solid #000; } selector [attribute$="value"] targets an element with an attribute which ends with a suffix of “value.” Example: img[title$=“png"] { border: 1px 196 solid #000; }
  • 197. Combinator Selectors: Attribute substrings selector [attribute*="value"] targets an element with an attribute that contains “value” as any part of a value string. Example: img[title*="large"] {border: 1px solid #000; } 197
  • 198. Lab Time Let’s apply the general sibling and attribute selectors to our page. Let’s see how we can make the page look exactly the same but with the new CSS3 selectors. 198
  • 199. CSS3 Pseudo- classes 199
  • 200. Pseudo-classes: Structural • Structural – :root – :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 200
  • 201. Old skool: zebra striping 201
  • 202. Nth child selector tester http://leaverou.me/demos/nth.html 202
  • 203. The :nth-child() pseudo-class The :nth-child() pseudo-class targets an element that has a certain number of siblings before it in the document tree. This argument, which is placed within the parentheses, can be a number, a keyword, or a formula. A number x matches the x-th child. Example: • p:nth-child(3) { color:#f00; 203 }
  • 204. The :nth-child() pseudo-class The 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. Example: p:nth-child(odd) { color:#f00; } The 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. Example: 204 p:nth-child(3n+1) { color:#f00; }
  • 205. The :nth-last-child() pseudo-class The :nth-last-child() pseudo-class works just like the :nth-child() pseudo-class, except that it targets an element that has a certain number of siblings after it in the document tree. In other words, it starts counting from the last child instead of the first, and counts backwards. Example: tr:nth-last-child(2) { background:#ff0;} 205
  • 206. The :nth-of-type() pseudo-class The :nth-of-type() pseudo-class works exactly like the :nth-child() pseudo-class, but only counts those elements that are of the same type as the element the rule is applied to. Example: p:nth-of-type(3) { background:#ff0;} 206
  • 207. The :nth-last-of-type() pseudo-class The :nth-last-of-type() pseudo-class targets an element that has a certain number of siblings of the same element type after it in the document tree. Just like the :nth-last-child() pseudo-class, it starts counting from the last child instead of the first, and counts backwards. Example: p:nth-last-of- 207 type(2){background:#ff0;}
  • 208. The :last-child pseudo-class The :last-child pseudo-class targets an element that is the last child of its parent element. It is the same as :nth-last-child(1). Example: p:last-child {background:#ff0;} 208
  • 209. The :first-of-type pseudo-class The :first-of-type pseudo-class targets an element that is the first sibling of its type. it is the same as :nth-of-type(1). Example: p:first-of-type { background:#ff0;} 209
  • 210. The :last-of-type pseudo-class The :last-of-type pseudo-class targets an element that is the last sibling of its type. it is the same as :nth-last-of-type(1). Example p:last-of- type{background:#ff0;} 210
  • 211. The :only-of-type pseudo-class The :only-of-type pseudo-class targets an element whose parent element has no other children of the same element type. It is the same (but with a lower specificity) as :first-of-type :last-of-type or :nth-of- type(1):nth-last-of-type(1). Example: p:only-of- type{background:#ff0;} 211
  • 212. The :only-child pseudo-class The :only-child pseudo-class targets an element whose parent element has no other element children. It is the same (but with a lower specificity) as :first-child:last-child or :nth-child(1):nth- last-child(1). Example: p:only-child {background:#ff0;} 212
  • 213. Lab Time Let’s apply the CSS3 pseudo-classes selectors to our page. Let’s see how we can make the page look exactly the same but with the new CSS3 selectors. 213
  • 214. Pseudo-classes: State • :root • :not • :target 214
  • 215. The :root pseudo-class The :root pseudo-class targets the document’s root element. In HTML, the root element is always the HTML element. :root actually has a higher specificity than html. Example: :root { background:#ff0; } 215
  • 216. Pseudo-class: Negation :not targets all elements that are not indicated. A very useful pseudo-class. Example: *:not(img) {text-align: left;} (This would match all elements except images.) 216
  • 217. Pseudo-class: Target :target targets the target of a url on a page – most often used for fragment identifiers. Example: div.window:target { opacity: 1; z-index: 7; } 217
  • 218. Pseudo-classes: State • :enabled • :disabled • :checked • :indeterminate 218
  • 219. Pseudo-elements: State The :enabled and :disabled pseudo-classes allow developers to specify the appearance of user interface elements (form controls) that are enabled or disabled, provided that the browser allows styling of form controls. Example: input[type="text"]:enabled { background:#ffc; } input[type="text"]:disabled { 219 background:#ddd; }
  • 220. The :checked pseudo-class The :checked pseudo-class allows developers to specify the appearance of checked radio and checkbox elements. Again, this is provided that the browser allows styling of form controls. Example: input:checked {border:1px solid #090;} 220
  • 221. CSS3 Selector Helper Script http://www.selectivizr.com 221
  • 222. Resources: 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 222
  • 223. Tools: CSS3 Selectors • http://www.quirksmode.org/ compatibility.html • http://www.findmebyip.com/litmus 223
  • 224. Resources: 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 224
  • 225. The End? 225 http://www.flickr.com/photos/ilike/3707503212/
  • 229. 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 229
  • 231. On Netmagzine.com http://www.netmagazine.com/features/ http://www.netmagazine.com/features/ top-10-css3-techniques 21-top-tools-responsive-web-design 231
  • 232. A library of resources 232 http://upload.wikimedia.org/wikipedia/commons/e/e2/New_York_State_Library_1900.jpg
  • 233. CSS3, hot off the presses! The Book of CSS3 233 by Peter Gasston
  • 234. Project-based CSS3 Stunning CSS3 234 by Zoe Mikely Gillenwater
  • 235. CSS3 Condensed and Explained CSS3 For Web Designers 235 by Dan Cederholm
  • 236. The book on Responsive Web Design Responsive Web Design by Ethan Marcotte 236
  • 237. CSS3 and Media Queries Hardboiled Web Design 237 by Andy Clarke
  • 238. Flexible Layouts Flexible Web Design 238 by Zoe Mickley Gillenwater
  • 239. Timeless CSS Solutions CSS Mastery 239 by Andy Budd, et al
  • 240. Proactive coding & graceful degradation CssDetectiveGuide.com 240
  • 241. Holistic Web Design Interact with Web Standards: A Holistic Approach to Web Design 241
  • 242. Where to find me: DeniseJacobs.com denise@denisejacobs.com twitter.com/denisejacobs slideshare.net/denisejacobs 242