SlideShare uma empresa Scribd logo
1 de 45
10                     Advanced CSS Techniques
                       you always wanted to know more about
                                                             #webqcss




Some rights reserved                       Webuquerque November 2, 2011
He llo!
             Jason Nakai                            Emily Lewis
             Designer Developer                     Web Designer Writer        Instructor
             nakaimedia.com                         emilylewisdesign.com

Software Engineer, Data Basis          Co-host, EE Podcast
data-basis.com                         ee-podcast.com

Co-founder & Co-manager, Webuquerque   Co-founder & Co-manager, Webuquerque
webuquerque.com                        webuquerque.com

Email:     info@nakaimedia.com         Author, Microformats Made Simple
Twitter:   @jasonnakai                 microformatsmadesimple.com

                                       Contributing author, HTML5 Cookbook
                                       oreilly.com/catalog/0636920016038

                                       Email:     emily@emilylewisdesign.com
                                       Blog:      ablognotlimited.com
                                       Twitter:   @emilylewis


                                                                                #webqcss
esome
10                a nd Aw
         Advanced^Techniques
1. Text shadows          6. Multiple background images

2. Box shadows           7. Transitions

3. Generated content     8. Transforms

4. Attribute selectors   9. Media queries

5. Gradients             10.Feature detection




                                                #webqcss
1Text Shadows
text-shadow casts shadow effects on text and text-
decoration.




                                                     #webqcss
1
Text Shadows tax
          Syn
    h3 {text-shadow: 1px 1px 2px #000;}

•   x (horizontal) offset casts shadow to the right of the
    text. Negative value casts to the left.

•   y (vertical) offset casts shadow below the text.
    Negative value casts above.

•   blur radius blurs the shadow, with higher values
    making the shadows wider and lighter.

•   color
                                                        #webqcss
1Text Shadows tax
           Syn
Multiple effects are comma-separated and are applied
front to back, with the first shadow on the top of the stack.

                 text-shadow:         #fff    -1px   -1px,
                                      #fff    -2px   -2px,
                                      #fff    -3px   -3px,
                                      #fff    -4px   -4px,
                                      #fff    -5px   -5px,
                                      #fff    -6px   -6px,
                                      #fff    -7px   -7px,
                                      #fff    -8px   -8px;
                                                         #webqcss
1
Text Shadows esou
•
       T ools &R  rces

    Typekit text shadow tutorial
    blog.typekit.com/2011/07/19/shading-with-css-text-shadows/


•   Dynamic text shadow generator
    mothereffingtextshadow.com


•   Dynamic text shadow generator
    westciv.com/tools/shadows/


•   IE Shadow filter
    msdn.microsoft.com/en-us/library/ms533086(v=VS.85).aspx


•   IE DropShadow filter
    msdn.microsoft.com/en-us/library/ms532985(v=VS.85).aspx
                                                                 #webqcss
2Box Shadows
box-shadow casts shadow effects on block-level
elements.




                                                 #webqcss
2  Box Shadowsntax
            Sy
div {box-shadow: inset 2px 2px 3px 1px #666;}

   •   inset moves shadow inside frame of element.

   •   x (horizontal) offset casts shadow to the right of the
       text. Negative value casts to the left.

   •   y (vertical) offset casts shadow below the text.
       Negative value casts above.



                                                           #webqcss
2  Box Shadowsntax
            Sy
div {box-shadow: inset 2px 2px 3px 1px #666;}

   •   blur radius blurs the shadow, with higher values
       making the shadows wider and lighter.

   •   spread radius conrtrols the expansion of the
       shadow, with higher values making it bigger.

   •   color



                                                          #webqcss
2 Box Shadowsntax
           Sy
Vendor prefixes are available for older versions, which
should be listed before the standard property.


 -moz-box-shadow:    2px 2px 3px #666;
 -webkit-box-shadow: 2px 2px 3px #666;
 box-shadow:         2px 2px 3px #666;

Automatic prefixing with JavaScript
leaverou.github.com/prefixfree/




                                                          #webqcss
2Box Shadowsntax
          Sy
Multiple effects are applied front to back, with the first
shadow on top of the stack.

              box-shadow:         1px   1px   #007d9a,
                                  2px   2px   #007d9a,
                                  3px   3px   #007d9a,
                                  4px   4px   #007d9a,
                                  5px   5px   #007d9a,
                                  6px   6px   #007d9a,
                                  7px   7px   #007d9a,
                                  8px   8px   #007d9a;
                                                             #webqcss
2
Box ShadowsResou
•
      To ols &
                 rces

    CSS Tricks box shadow tutorial
    css-tricks.com/snippets/css/css-box-shadow/


•   Drop shadows tutorial & example gallery
    nicolasgallagher.com/css-drop-shadows-without-images/


•   Dynamic box shadow generator
    westciv.com/tools/box-properties/index.html


•   CSS3 decorations for IE
    css3pie.com


•   IE DropShadow filter
    msdn.microsoft.com/en-us/library/ms532985(v=VS.85).aspx
                                                              #webqcss
3   Generated Content
Using the :before and :after pseudo elements, can
insert content before and after the specified element:

•   Strings of text

•   Images

•   Counters

•   Attribute values (i.e. title)



                                                         #webqcss
3 Generated Contenttax
                Syn
a:after {content:" 00a000bb";}

  •   content property contains the content to appear
      before or after the element.

  •   For text strings, contain the value in quotes.

  •   If you want to use a special character, make sure it is
      properly encoded (digitalmediaminute.com/
      reference/entity/).


                                                          #webqcss
3
Generated Contenttax
              Syn
                   li:hover:before {
                      content:url(arrow.png);
                      position:absolute;
                      top:-17px;
                      left:0;}

•   :before and :after can also be combined with
    pseudo-classes like :hover.

•   content property can only be used on :before
    and :after.
                                                   #webqcss
3
•
    Generated Contentsources
             To ols & Re
    Generated content tutorial & speech bubble gallery
    http://nicolasgallagher.com/pure-css-speech-bubbles/


•   Tooltips with generated content
    http://jsfiddle.net/chriscoyier/EMhRJ/92/


•   Automatic numbering & counters
    dev.opera.com/articles/view/automatic-numbering-with-css-counters/


•   Pure CSS3 boxes without images
    webdesignshock.com/css3-box-shadow/




                                                                         #webqcss
4Attribute Selectors
Attribute selectors allow you to target elements based
on their attributes.
• [attr]                   • [attr^=value]
• [attr=value]             • [attr$=value]
• [attr~=value]            • [attr*=value]
• [attr|=value]


                                                         #webqcss
4Attribute Selectorstax
                Syn
a[href$="zip"]{...;}
input[type="submit"][value="Search"]{...;}


 •   Attribute property and
     value are specified
     within brackets

 •   Can use multiple
     selectors for greater
     specificity
                                      #webqcss
4
•
    Attribute Selectors esources
                Tools &R
    Emily’s attribute selectors tutorial
    msdn.microsoft.com/en-us/scriptjunkie/gg619394


•   CSS3 selectors explained
    456bereastreet.com/archive/200601/css_3_selectors_explained/


•   CSS Tricks attribute selectors tutorial
    css-tricks.com/5591-attribute-selectors/


•   ARIA roles & attribute selectors
    germanforblack.com/articles/stepping-into-attribute-selectors


•   IE support for CSS3 selectors
    selectivizr.com
                                                                    #webqcss
5   Gradients
Gradients allow smooth transitions between two or
more colors. Can reduce need for background images.
•   Linear

•   Radial

•   Specified via background-image




                                                      #webqcss
5
Linear Gradientsntax
div {
              Sy
  background-image: linear-
gradient(-90deg, #fff 0%, #ccc 100%);
}

•   Angle determines the direction of the gradient.

•   Color stop defines the color and it’s position relative
    to the element. Can have multiple, comma-separated
    color stops.



                                                        #webqcss
5
Radial Gradientsntax
div {
             Sy
  background-image:radial-
gradient(center, ellipse cover, #ff0
0%, #0f0 100%);
}

•   Position indicates the origin (center) of the gradient.

•   Shape and size of the gradient

•   Color stops, comma-separated

                                                         #webqcss
5   Gradientsntax
           Sy
  Vendor prefixes are required.

-moz-linear-gradient              -moz-radial-gradient
-o-linear-gradient                -webkit-radial-gradient
-webkit-linear-gradient


  Dynamic cross-browser CSS3 generator (even includes
  older syntaxes and prefixes)
  css3please.com



                                                    #webqcss
5Gradientsntax
        Sy
Multiple gradients can be applied, creating complex
(and even repeating) patterns.




                                                      #webqcss
5
•
    Gradients Resou
        Too ls &
                    rces

    Incredible background patterns gallery
    leaverou.me/css3patterns/


•   Dynamic linear gradient generator
    display-inline.fr/projects/css-gradient/


•   Dynamic radial gradient generator
    westciv.com/tools/radialgradients/index.html


•   Dynamic gradient generator (Firefox)
    colorzilla.com/gradient-editor/


•   CSS decorations for IE
    css3pie.com
                                                   #webqcss
6Multiple Background Images
CSS3 allows you to specify more than one background
image for an element.




                                                      #webqcss
6Multiple Background Imagesx
article {
  background:
                       S ynta

    url(curtainTop.png) 0 0 no-repeat,
    url(curtainBottom.png) 0 100% no-repeat
    #000;
}
 •   Comma-separated list of shorthand values for URL, x-
     axis, y-axis and repeat. Can also use full declarations.

 •   Images are layered, with first declared image on top of
     the stack. If using a background color, declare with
     last image to be at bottom of stack.
                                                         #webqcss
6Multiple Background Imagesx
article {
  background:
                       S ynta

    url(curtainBottom.png) 0 100% no-repeat
    #000;
  background:
    url(curtainTop.png) 0 0 no-repeat,
    url(curtainBottom.png) 0 100% no-repeat
    #000;
}
 For IE and other browser that don’t support, declare
 background twice.
                                                        #webqcss
6
•
    Multiple Background Imagesces
                    To ols & Re sour
    Multiple backgrounds & gradients tutorial
    snook.ca/archives/html_and_css/multiple-bg-css-gradients


•   CSS3 demo site from SXSW panel
    sxswcss3.com


•   Background patterns gallery
    leaverou.me/css3patterns/


•   CSS decorations for IE
    css3pie.com




                                                               #webqcss
7Transitions
transition enables smooth animations of CSS
property changes over a specified timeframe.




                                               #webqcss
7
Transitions ntax
         Sy
    div {transition: all .5s linear .2s;}

•    Property name specifies the CSS property to be
     changed.

•    Duration specifies the number of (milli)seconds a
     transition animation should take to complete.

•    Timing function specifies the easing

•    Delay indicates the amount of time to wait to start
     the transition effect
                                                           #webqcss
7Transitions ntax
          Sy
Vendor prefixes are required. Should be specified
before standard property.


-moz-transition:            all   .5s   linear      .2s;
-o-transition:              all   .5s   linear      .2s;
-webkit-transition:         all   .5s   linear      .2s;
transition:                 all   .5s   linear      .2s;




                                                       #webqcss
7
•
    Transitions& Resou
           T ools
                       rces

    Think Vitamin transitions tutorial
    thinkvitamin.com/code/sexy-interactions-with-css-transitions/


•   cubic-bezier() easing with transitions
    cubic-bezier.com


•   CSS transitions gallery
    leaverou.github.com/animatable/


•   Dynamic transitions generator
    css3generator.com




                                                                    #webqcss
8   Transforms
transform enables modifications to coordinate-based
CSS properties:

•   Translate

•   Rotate

•   Skew

•   Scale



                                                      #webqcss
8
Transforms ntax
        Sy
h3 {transform: rotate(45deg);}
h3 {transform: translate(25px, 10px);}


•   Transform functions specify the modification action
    and corresponding values.




                                                     #webqcss
8Transforms ntax
         Sy
Vendor prefixes are required. Should be specified
before standard property.


-moz-transform:            rotate(45deg);
-o-transform:              rotate(45deg);
-webkit-transform:         rotate(45deg);
transform:                 rotate(45deg);




                                                    #webqcss
8
•
    Transforms Resou
          To ols &
                     rces

    Transforms tutorial
    css3files.com/transform/


•   Text rotation tutorial
    snook.ca/archives/html_and_css/css-text-rotation


•   Transforms for IE
    useragentman.com/IETransformsTranslator/


•   Dynamic transforms generator
    westciv.com/tools/transforms/


•   Dynamic transforms generator
    css3generator.com
                                                       #webqcss
9   Media Queries
Media queries deliver styles based on the user’s display:

•   Media type

•   Browser window

•   Device screen, orientation & resolution

•   Colors




                                                       #webqcss
9
Media Queriesntax
           Sy
@media screen and (max-width: 650px){

}
   body {background: #f90;}


•   Nest resolution-specific styles within the @media
    query

•   Media options include all, handheld, projection,
    screen, tv

•   Properties and values establish the conditions for
    rendering styles

                                                         #webqcss
9
•
    Media QueriesResou
           To ols &
                       rces

    A List Apart’s responsive web design
    alistapart.com/articles/responsive-web-design/


•   Emily’s media queries tutorial
    msdn.microsoft.com/en-us/scriptjunkie/gg619395


•   Comprehensive media queries
    zomigi.com/blog/essential-considerations-for-crafting-quality-media-queries/


•   Media queries polyfill
    github.com/scottjehl/Respond


•   Dynamic resolution testing
    quirktools.com/screenfly/
                                                                         #webqcss
10  Feature Detection
Feature detection tests for the existence of DOM
properties and methods in order to determine whether
a browser supports an operation.
•   Modernizr (best bet)
    modernizr.com


•   jQuery.support (if you really want to)
    api.jquery.com/jQuery.support/


•   Rolling your own (not suggested)
    sitepoint.com/detect-css3-property-browser-support/


•   Browser sniffing (outdated)
                                                          #webqcss
10
•
    Feature Detection esources
              T ools &R
    Do you even need a polyfill? A fallback?
    caniuse.com


•   Conditional polyfill loading
    yepnopejs.com


•   Practical feature detection
    css-tricks.com/13641-sideways-headers/




                                               #webqcss
Questions?
         ?
 @emilylewis   @jasonnakai




                             #webqcss
Thanks!
           !
What did you think? spkr8.com/t/8859




                                       #webqcss

Mais conteúdo relacionado

Mais procurados

Mais procurados (20)

Lab#9 graphic and color
Lab#9 graphic and colorLab#9 graphic and color
Lab#9 graphic and color
 
Flexbox and Grid Layout
Flexbox and Grid LayoutFlexbox and Grid Layout
Flexbox and Grid Layout
 
Html5 Basics
Html5 BasicsHtml5 Basics
Html5 Basics
 
jQuery Mobile
jQuery MobilejQuery Mobile
jQuery Mobile
 
HTML CSS and Web Development
HTML CSS and Web DevelopmentHTML CSS and Web Development
HTML CSS and Web Development
 
Media queries A to Z
Media queries A to ZMedia queries A to Z
Media queries A to Z
 
Introduction to CSS Grid Layout
Introduction to CSS Grid LayoutIntroduction to CSS Grid Layout
Introduction to CSS Grid Layout
 
JavaScript - Chapter 13 - Browser Object Model(BOM)
JavaScript - Chapter 13 - Browser Object Model(BOM)JavaScript - Chapter 13 - Browser Object Model(BOM)
JavaScript - Chapter 13 - Browser Object Model(BOM)
 
Style and Selector
Style and SelectorStyle and Selector
Style and Selector
 
Css position
Css positionCss position
Css position
 
Introduction to HTML and CSS
Introduction to HTML and CSSIntroduction to HTML and CSS
Introduction to HTML and CSS
 
Lab#5 style and selector
Lab#5 style and selectorLab#5 style and selector
Lab#5 style and selector
 
CSS Day: CSS Grid Layout
CSS Day: CSS Grid Layout CSS Day: CSS Grid Layout
CSS Day: CSS Grid Layout
 
Bootstrap 5 ppt
Bootstrap 5 pptBootstrap 5 ppt
Bootstrap 5 ppt
 
CSS Boc model
CSS Boc model CSS Boc model
CSS Boc model
 
Overview HTML, HTML5 and Validations
Overview HTML, HTML5 and Validations Overview HTML, HTML5 and Validations
Overview HTML, HTML5 and Validations
 
Css font properties
Css font propertiesCss font properties
Css font properties
 
Introduction to Javascript By Satyen
Introduction to Javascript By  SatyenIntroduction to Javascript By  Satyen
Introduction to Javascript By Satyen
 
HTML practical file
HTML practical fileHTML practical file
HTML practical file
 
Flex box
Flex boxFlex box
Flex box
 

Semelhante a 10 Advanced CSS Techniques (You Wish You Knew More About)

Advanced sass/compass
Advanced sass/compassAdvanced sass/compass
Advanced sass/compassNick Cooley
 
[WebVisions 2010] CSS3 Workshop (Afternoon)
[WebVisions 2010] CSS3 Workshop (Afternoon)[WebVisions 2010] CSS3 Workshop (Afternoon)
[WebVisions 2010] CSS3 Workshop (Afternoon)Christopher Schmitt
 
Trendsetting: Web Design and Beyond
Trendsetting: Web Design and BeyondTrendsetting: Web Design and Beyond
Trendsetting: Web Design and BeyondAndy Stratton
 
CSS3: Are you experienced?
CSS3: Are you experienced?CSS3: Are you experienced?
CSS3: Are you experienced?Denise Jacobs
 
[Worskhop Summits] CSS3 Workshop
[Worskhop Summits] CSS3 Workshop[Worskhop Summits] CSS3 Workshop
[Worskhop Summits] CSS3 WorkshopChristopher Schmitt
 
Simply Responsive CSS3
Simply Responsive CSS3Simply Responsive CSS3
Simply Responsive CSS3Denise Jacobs
 
CSS3: Ripe and Ready to Respond
CSS3: Ripe and Ready to RespondCSS3: Ripe and Ready to Respond
CSS3: Ripe and Ready to RespondDenise Jacobs
 
Keep calm and let's play CSS3
Keep calm and let's play CSS3Keep calm and let's play CSS3
Keep calm and let's play CSS3A2 Comunicação
 
Rockstar Graphics with HTML5
Rockstar Graphics with HTML5Rockstar Graphics with HTML5
Rockstar Graphics with HTML5Dave Balmer
 
Next Steps in Responsive Design
Next Steps in Responsive DesignNext Steps in Responsive Design
Next Steps in Responsive DesignJustin Avery
 
CSS3: Ripe and Ready
CSS3: Ripe and ReadyCSS3: Ripe and Ready
CSS3: Ripe and ReadyDenise Jacobs
 
About Best friends - HTML, CSS and JS
About Best friends - HTML, CSS and JSAbout Best friends - HTML, CSS and JS
About Best friends - HTML, CSS and JSNaga Harish M
 
Advanced CSS Techniques
Advanced CSS TechniquesAdvanced CSS Techniques
Advanced CSS TechniquesKopepasah
 
Future-Proof Responsive Web Design #RWD
Future-Proof Responsive Web Design #RWDFuture-Proof Responsive Web Design #RWD
Future-Proof Responsive Web Design #RWDDigital Surgeons
 

Semelhante a 10 Advanced CSS Techniques (You Wish You Knew More About) (20)

Advanced sass/compass
Advanced sass/compassAdvanced sass/compass
Advanced sass/compass
 
[WebVisions 2010] CSS3 Workshop (Afternoon)
[WebVisions 2010] CSS3 Workshop (Afternoon)[WebVisions 2010] CSS3 Workshop (Afternoon)
[WebVisions 2010] CSS3 Workshop (Afternoon)
 
Trendsetting: Web Design and Beyond
Trendsetting: Web Design and BeyondTrendsetting: Web Design and Beyond
Trendsetting: Web Design and Beyond
 
CSS3: Are you experienced?
CSS3: Are you experienced?CSS3: Are you experienced?
CSS3: Are you experienced?
 
CSS3 3D Workshop
CSS3 3D WorkshopCSS3 3D Workshop
CSS3 3D Workshop
 
CSS and CSS3
CSS and CSS3CSS and CSS3
CSS and CSS3
 
[Worskhop Summits] CSS3 Workshop
[Worskhop Summits] CSS3 Workshop[Worskhop Summits] CSS3 Workshop
[Worskhop Summits] CSS3 Workshop
 
Simply Responsive CSS3
Simply Responsive CSS3Simply Responsive CSS3
Simply Responsive CSS3
 
Intro to CSS3
Intro to CSS3Intro to CSS3
Intro to CSS3
 
CSS3: Ripe and Ready to Respond
CSS3: Ripe and Ready to RespondCSS3: Ripe and Ready to Respond
CSS3: Ripe and Ready to Respond
 
Keep calm and let's play CSS3
Keep calm and let's play CSS3Keep calm and let's play CSS3
Keep calm and let's play CSS3
 
Rockstar Graphics with HTML5
Rockstar Graphics with HTML5Rockstar Graphics with HTML5
Rockstar Graphics with HTML5
 
Next Steps in Responsive Design
Next Steps in Responsive DesignNext Steps in Responsive Design
Next Steps in Responsive Design
 
CSS3: Ripe and Ready
CSS3: Ripe and ReadyCSS3: Ripe and Ready
CSS3: Ripe and Ready
 
About Best friends - HTML, CSS and JS
About Best friends - HTML, CSS and JSAbout Best friends - HTML, CSS and JS
About Best friends - HTML, CSS and JS
 
Css3
Css3Css3
Css3
 
Advanced CSS Techniques
Advanced CSS TechniquesAdvanced CSS Techniques
Advanced CSS Techniques
 
Css3
Css3Css3
Css3
 
slides-students-C04.pdf
slides-students-C04.pdfslides-students-C04.pdf
slides-students-C04.pdf
 
Future-Proof Responsive Web Design #RWD
Future-Proof Responsive Web Design #RWDFuture-Proof Responsive Web Design #RWD
Future-Proof Responsive Web Design #RWD
 

Mais de Emily Lewis

Create Your Own Starter Files
Create Your Own Starter FilesCreate Your Own Starter Files
Create Your Own Starter FilesEmily Lewis
 
The Hiring Process
The Hiring ProcessThe Hiring Process
The Hiring ProcessEmily Lewis
 
Take Your Markup to Eleven
Take Your Markup to ElevenTake Your Markup to Eleven
Take Your Markup to ElevenEmily Lewis
 
Designer-Friendly EE
Designer-Friendly EEDesigner-Friendly EE
Designer-Friendly EEEmily Lewis
 
Building the Webuquerque Community
Building the Webuquerque CommunityBuilding the Webuquerque Community
Building the Webuquerque CommunityEmily Lewis
 
Multiple Site Management with ExpressionEngine
Multiple Site Management with ExpressionEngineMultiple Site Management with ExpressionEngine
Multiple Site Management with ExpressionEngineEmily Lewis
 
Take Your Markup to 11
Take Your Markup to 11Take Your Markup to 11
Take Your Markup to 11Emily Lewis
 
WordPress & Other Content Management Systems
WordPress & Other Content Management SystemsWordPress & Other Content Management Systems
WordPress & Other Content Management SystemsEmily Lewis
 
Microformats or: How I Learned to Write POSH and Love the Semantic Web
Microformats or: How I Learned to Write POSH and Love the Semantic WebMicroformats or: How I Learned to Write POSH and Love the Semantic Web
Microformats or: How I Learned to Write POSH and Love the Semantic WebEmily Lewis
 
jQuery, A Designer's Perspective
jQuery, A Designer's PerspectivejQuery, A Designer's Perspective
jQuery, A Designer's PerspectiveEmily Lewis
 
Practical Microformats - Voices That Matter
Practical Microformats - Voices That MatterPractical Microformats - Voices That Matter
Practical Microformats - Voices That MatterEmily Lewis
 
[Workshop Summits] Microformats Workshop
[Workshop Summits] Microformats Workshop[Workshop Summits] Microformats Workshop
[Workshop Summits] Microformats WorkshopEmily Lewis
 
Microformats: Web Semantics & More
Microformats: Web Semantics & MoreMicroformats: Web Semantics & More
Microformats: Web Semantics & MoreEmily Lewis
 
Podcasting & Vodcasting 101
Podcasting & Vodcasting 101Podcasting & Vodcasting 101
Podcasting & Vodcasting 101Emily Lewis
 
Webuquerque: Social Media Means Business
Webuquerque: Social Media Means BusinessWebuquerque: Social Media Means Business
Webuquerque: Social Media Means BusinessEmily Lewis
 

Mais de Emily Lewis (15)

Create Your Own Starter Files
Create Your Own Starter FilesCreate Your Own Starter Files
Create Your Own Starter Files
 
The Hiring Process
The Hiring ProcessThe Hiring Process
The Hiring Process
 
Take Your Markup to Eleven
Take Your Markup to ElevenTake Your Markup to Eleven
Take Your Markup to Eleven
 
Designer-Friendly EE
Designer-Friendly EEDesigner-Friendly EE
Designer-Friendly EE
 
Building the Webuquerque Community
Building the Webuquerque CommunityBuilding the Webuquerque Community
Building the Webuquerque Community
 
Multiple Site Management with ExpressionEngine
Multiple Site Management with ExpressionEngineMultiple Site Management with ExpressionEngine
Multiple Site Management with ExpressionEngine
 
Take Your Markup to 11
Take Your Markup to 11Take Your Markup to 11
Take Your Markup to 11
 
WordPress & Other Content Management Systems
WordPress & Other Content Management SystemsWordPress & Other Content Management Systems
WordPress & Other Content Management Systems
 
Microformats or: How I Learned to Write POSH and Love the Semantic Web
Microformats or: How I Learned to Write POSH and Love the Semantic WebMicroformats or: How I Learned to Write POSH and Love the Semantic Web
Microformats or: How I Learned to Write POSH and Love the Semantic Web
 
jQuery, A Designer's Perspective
jQuery, A Designer's PerspectivejQuery, A Designer's Perspective
jQuery, A Designer's Perspective
 
Practical Microformats - Voices That Matter
Practical Microformats - Voices That MatterPractical Microformats - Voices That Matter
Practical Microformats - Voices That Matter
 
[Workshop Summits] Microformats Workshop
[Workshop Summits] Microformats Workshop[Workshop Summits] Microformats Workshop
[Workshop Summits] Microformats Workshop
 
Microformats: Web Semantics & More
Microformats: Web Semantics & MoreMicroformats: Web Semantics & More
Microformats: Web Semantics & More
 
Podcasting & Vodcasting 101
Podcasting & Vodcasting 101Podcasting & Vodcasting 101
Podcasting & Vodcasting 101
 
Webuquerque: Social Media Means Business
Webuquerque: Social Media Means BusinessWebuquerque: Social Media Means Business
Webuquerque: Social Media Means Business
 

Último

Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 

Último (20)

Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 

10 Advanced CSS Techniques (You Wish You Knew More About)

  • 1. 10 Advanced CSS Techniques you always wanted to know more about #webqcss Some rights reserved Webuquerque November 2, 2011
  • 2. He llo! Jason Nakai Emily Lewis Designer Developer Web Designer Writer Instructor nakaimedia.com emilylewisdesign.com Software Engineer, Data Basis Co-host, EE Podcast data-basis.com ee-podcast.com Co-founder & Co-manager, Webuquerque Co-founder & Co-manager, Webuquerque webuquerque.com webuquerque.com Email: info@nakaimedia.com Author, Microformats Made Simple Twitter: @jasonnakai microformatsmadesimple.com Contributing author, HTML5 Cookbook oreilly.com/catalog/0636920016038 Email: emily@emilylewisdesign.com Blog: ablognotlimited.com Twitter: @emilylewis #webqcss
  • 3. esome 10 a nd Aw Advanced^Techniques 1. Text shadows 6. Multiple background images 2. Box shadows 7. Transitions 3. Generated content 8. Transforms 4. Attribute selectors 9. Media queries 5. Gradients 10.Feature detection #webqcss
  • 4. 1Text Shadows text-shadow casts shadow effects on text and text- decoration. #webqcss
  • 5. 1 Text Shadows tax Syn h3 {text-shadow: 1px 1px 2px #000;} • x (horizontal) offset casts shadow to the right of the text. Negative value casts to the left. • y (vertical) offset casts shadow below the text. Negative value casts above. • blur radius blurs the shadow, with higher values making the shadows wider and lighter. • color #webqcss
  • 6. 1Text Shadows tax Syn Multiple effects are comma-separated and are applied front to back, with the first shadow on the top of the stack. text-shadow: #fff -1px -1px, #fff -2px -2px, #fff -3px -3px, #fff -4px -4px, #fff -5px -5px, #fff -6px -6px, #fff -7px -7px, #fff -8px -8px; #webqcss
  • 7. 1 Text Shadows esou • T ools &R rces Typekit text shadow tutorial blog.typekit.com/2011/07/19/shading-with-css-text-shadows/ • Dynamic text shadow generator mothereffingtextshadow.com • Dynamic text shadow generator westciv.com/tools/shadows/ • IE Shadow filter msdn.microsoft.com/en-us/library/ms533086(v=VS.85).aspx • IE DropShadow filter msdn.microsoft.com/en-us/library/ms532985(v=VS.85).aspx #webqcss
  • 8. 2Box Shadows box-shadow casts shadow effects on block-level elements. #webqcss
  • 9. 2 Box Shadowsntax Sy div {box-shadow: inset 2px 2px 3px 1px #666;} • inset moves shadow inside frame of element. • x (horizontal) offset casts shadow to the right of the text. Negative value casts to the left. • y (vertical) offset casts shadow below the text. Negative value casts above. #webqcss
  • 10. 2 Box Shadowsntax Sy div {box-shadow: inset 2px 2px 3px 1px #666;} • blur radius blurs the shadow, with higher values making the shadows wider and lighter. • spread radius conrtrols the expansion of the shadow, with higher values making it bigger. • color #webqcss
  • 11. 2 Box Shadowsntax Sy Vendor prefixes are available for older versions, which should be listed before the standard property. -moz-box-shadow: 2px 2px 3px #666; -webkit-box-shadow: 2px 2px 3px #666; box-shadow: 2px 2px 3px #666; Automatic prefixing with JavaScript leaverou.github.com/prefixfree/ #webqcss
  • 12. 2Box Shadowsntax Sy Multiple effects are applied front to back, with the first shadow on top of the stack. box-shadow: 1px 1px #007d9a, 2px 2px #007d9a, 3px 3px #007d9a, 4px 4px #007d9a, 5px 5px #007d9a, 6px 6px #007d9a, 7px 7px #007d9a, 8px 8px #007d9a; #webqcss
  • 13. 2 Box ShadowsResou • To ols & rces CSS Tricks box shadow tutorial css-tricks.com/snippets/css/css-box-shadow/ • Drop shadows tutorial & example gallery nicolasgallagher.com/css-drop-shadows-without-images/ • Dynamic box shadow generator westciv.com/tools/box-properties/index.html • CSS3 decorations for IE css3pie.com • IE DropShadow filter msdn.microsoft.com/en-us/library/ms532985(v=VS.85).aspx #webqcss
  • 14. 3 Generated Content Using the :before and :after pseudo elements, can insert content before and after the specified element: • Strings of text • Images • Counters • Attribute values (i.e. title) #webqcss
  • 15. 3 Generated Contenttax Syn a:after {content:" 00a000bb";} • content property contains the content to appear before or after the element. • For text strings, contain the value in quotes. • If you want to use a special character, make sure it is properly encoded (digitalmediaminute.com/ reference/entity/). #webqcss
  • 16. 3 Generated Contenttax Syn li:hover:before { content:url(arrow.png); position:absolute; top:-17px; left:0;} • :before and :after can also be combined with pseudo-classes like :hover. • content property can only be used on :before and :after. #webqcss
  • 17. 3 • Generated Contentsources To ols & Re Generated content tutorial & speech bubble gallery http://nicolasgallagher.com/pure-css-speech-bubbles/ • Tooltips with generated content http://jsfiddle.net/chriscoyier/EMhRJ/92/ • Automatic numbering & counters dev.opera.com/articles/view/automatic-numbering-with-css-counters/ • Pure CSS3 boxes without images webdesignshock.com/css3-box-shadow/ #webqcss
  • 18. 4Attribute Selectors Attribute selectors allow you to target elements based on their attributes. • [attr] • [attr^=value] • [attr=value] • [attr$=value] • [attr~=value] • [attr*=value] • [attr|=value] #webqcss
  • 19. 4Attribute Selectorstax Syn a[href$="zip"]{...;} input[type="submit"][value="Search"]{...;} • Attribute property and value are specified within brackets • Can use multiple selectors for greater specificity #webqcss
  • 20. 4 • Attribute Selectors esources Tools &R Emily’s attribute selectors tutorial msdn.microsoft.com/en-us/scriptjunkie/gg619394 • CSS3 selectors explained 456bereastreet.com/archive/200601/css_3_selectors_explained/ • CSS Tricks attribute selectors tutorial css-tricks.com/5591-attribute-selectors/ • ARIA roles & attribute selectors germanforblack.com/articles/stepping-into-attribute-selectors • IE support for CSS3 selectors selectivizr.com #webqcss
  • 21. 5 Gradients Gradients allow smooth transitions between two or more colors. Can reduce need for background images. • Linear • Radial • Specified via background-image #webqcss
  • 22. 5 Linear Gradientsntax div { Sy background-image: linear- gradient(-90deg, #fff 0%, #ccc 100%); } • Angle determines the direction of the gradient. • Color stop defines the color and it’s position relative to the element. Can have multiple, comma-separated color stops. #webqcss
  • 23. 5 Radial Gradientsntax div { Sy background-image:radial- gradient(center, ellipse cover, #ff0 0%, #0f0 100%); } • Position indicates the origin (center) of the gradient. • Shape and size of the gradient • Color stops, comma-separated #webqcss
  • 24. 5 Gradientsntax Sy Vendor prefixes are required. -moz-linear-gradient -moz-radial-gradient -o-linear-gradient -webkit-radial-gradient -webkit-linear-gradient Dynamic cross-browser CSS3 generator (even includes older syntaxes and prefixes) css3please.com #webqcss
  • 25. 5Gradientsntax Sy Multiple gradients can be applied, creating complex (and even repeating) patterns. #webqcss
  • 26. 5 • Gradients Resou Too ls & rces Incredible background patterns gallery leaverou.me/css3patterns/ • Dynamic linear gradient generator display-inline.fr/projects/css-gradient/ • Dynamic radial gradient generator westciv.com/tools/radialgradients/index.html • Dynamic gradient generator (Firefox) colorzilla.com/gradient-editor/ • CSS decorations for IE css3pie.com #webqcss
  • 27. 6Multiple Background Images CSS3 allows you to specify more than one background image for an element. #webqcss
  • 28. 6Multiple Background Imagesx article { background: S ynta url(curtainTop.png) 0 0 no-repeat, url(curtainBottom.png) 0 100% no-repeat #000; } • Comma-separated list of shorthand values for URL, x- axis, y-axis and repeat. Can also use full declarations. • Images are layered, with first declared image on top of the stack. If using a background color, declare with last image to be at bottom of stack. #webqcss
  • 29. 6Multiple Background Imagesx article { background: S ynta url(curtainBottom.png) 0 100% no-repeat #000; background: url(curtainTop.png) 0 0 no-repeat, url(curtainBottom.png) 0 100% no-repeat #000; } For IE and other browser that don’t support, declare background twice. #webqcss
  • 30. 6 • Multiple Background Imagesces To ols & Re sour Multiple backgrounds & gradients tutorial snook.ca/archives/html_and_css/multiple-bg-css-gradients • CSS3 demo site from SXSW panel sxswcss3.com • Background patterns gallery leaverou.me/css3patterns/ • CSS decorations for IE css3pie.com #webqcss
  • 31. 7Transitions transition enables smooth animations of CSS property changes over a specified timeframe. #webqcss
  • 32. 7 Transitions ntax Sy div {transition: all .5s linear .2s;} • Property name specifies the CSS property to be changed. • Duration specifies the number of (milli)seconds a transition animation should take to complete. • Timing function specifies the easing • Delay indicates the amount of time to wait to start the transition effect #webqcss
  • 33. 7Transitions ntax Sy Vendor prefixes are required. Should be specified before standard property. -moz-transition: all .5s linear .2s; -o-transition: all .5s linear .2s; -webkit-transition: all .5s linear .2s; transition: all .5s linear .2s; #webqcss
  • 34. 7 • Transitions& Resou T ools rces Think Vitamin transitions tutorial thinkvitamin.com/code/sexy-interactions-with-css-transitions/ • cubic-bezier() easing with transitions cubic-bezier.com • CSS transitions gallery leaverou.github.com/animatable/ • Dynamic transitions generator css3generator.com #webqcss
  • 35. 8 Transforms transform enables modifications to coordinate-based CSS properties: • Translate • Rotate • Skew • Scale #webqcss
  • 36. 8 Transforms ntax Sy h3 {transform: rotate(45deg);} h3 {transform: translate(25px, 10px);} • Transform functions specify the modification action and corresponding values. #webqcss
  • 37. 8Transforms ntax Sy Vendor prefixes are required. Should be specified before standard property. -moz-transform: rotate(45deg); -o-transform: rotate(45deg); -webkit-transform: rotate(45deg); transform: rotate(45deg); #webqcss
  • 38. 8 • Transforms Resou To ols & rces Transforms tutorial css3files.com/transform/ • Text rotation tutorial snook.ca/archives/html_and_css/css-text-rotation • Transforms for IE useragentman.com/IETransformsTranslator/ • Dynamic transforms generator westciv.com/tools/transforms/ • Dynamic transforms generator css3generator.com #webqcss
  • 39. 9 Media Queries Media queries deliver styles based on the user’s display: • Media type • Browser window • Device screen, orientation & resolution • Colors #webqcss
  • 40. 9 Media Queriesntax Sy @media screen and (max-width: 650px){ } body {background: #f90;} • Nest resolution-specific styles within the @media query • Media options include all, handheld, projection, screen, tv • Properties and values establish the conditions for rendering styles #webqcss
  • 41. 9 • Media QueriesResou To ols & rces A List Apart’s responsive web design alistapart.com/articles/responsive-web-design/ • Emily’s media queries tutorial msdn.microsoft.com/en-us/scriptjunkie/gg619395 • Comprehensive media queries zomigi.com/blog/essential-considerations-for-crafting-quality-media-queries/ • Media queries polyfill github.com/scottjehl/Respond • Dynamic resolution testing quirktools.com/screenfly/ #webqcss
  • 42. 10 Feature Detection Feature detection tests for the existence of DOM properties and methods in order to determine whether a browser supports an operation. • Modernizr (best bet) modernizr.com • jQuery.support (if you really want to) api.jquery.com/jQuery.support/ • Rolling your own (not suggested) sitepoint.com/detect-css3-property-browser-support/ • Browser sniffing (outdated) #webqcss
  • 43. 10 • Feature Detection esources T ools &R Do you even need a polyfill? A fallback? caniuse.com • Conditional polyfill loading yepnopejs.com • Practical feature detection css-tricks.com/13641-sideways-headers/ #webqcss
  • 44. Questions? ? @emilylewis @jasonnakai #webqcss
  • 45. Thanks! ! What did you think? spkr8.com/t/8859 #webqcss