SlideShare a Scribd company logo
1 of 63
Download to read offline
&
CSS3, Media Queries,
  Responsive Design

May 23, 2012
STC Summit
Zoe Mickley Gillenwater | @zomigi
What I do
      Books                         Web
      Stunning CSS3:                Accessibility
      A Project-based Guide to      specialist at AT&T
      the Latest in CSS
                                    Visual designer
      www.stunningcss3.com
                                    CSS developer
                                    and consultant
      Flexible Web Design:
      Creating Liquid and Elastic
      Layouts with CSS
      www.flexiblewebbook.com

                                                         2
1
   3
My home's web-enabled devices


         2



    2
                                3
& devices
   more mobile devices

more diversity within
   EVERY DAY

                         4
&
                              every day
  1.45 MILLION DEVICES

              317,124 BABIES
                        enter the world

Source: http://www.lukew.com/ff/entry.asp?1506   5
Growing screen resolution
   diversity on desktop
       May 2009 widths                      May 2012 widths

                                                              1366
                                    1024                      1024
                                    1280                      1280
                                    1440                      1440
                                    1680                      1920
                                    800                       1600
                                    1152                      1680
                                    other                     1360
                                                              other



Source: http://gs.statcounter.com                                     6
25%
          of U.S. smartphone users do
                 MOST OR ALL
     of their web browsing on mobile


Source: http://www.lukew.com/ff/entry.asp?1405   7
?
  how can our sites
accommodate all this
 DIVERSITY


                       8
Introducing media queries
• Awesome new part of CSS3
• Simple way to feed different CSS based on
  characteristics of user's device
• Used to build responsive/adaptive designs
• Not:
  • for feeding styles based on browser
  • just for feeding styles based on viewport size



                                                     9
Media query syntax: internal
body {
    background: gray;
}
@media screen and (max-width:500px) {
    body {
        background: blue;
    }
}


English translation:
Make the background gray. But up to a maximum width of 500
pixels, make the background blue.
                                                             10
Flip flop it
body {
    background: blue;
}
@media screen and (min-width:501px) {
    body {
        background: gray;
    }
}


English translation:
Make the background blue. But at and past the minimum width
of 501 pixels, make the background gray.
                                                              11
How it looks




               12
Media query syntax: external
Extend the existing media part of the link
element or @import rule:

<link href="narrow.css" rel="stylesheet"
media="only screen and (max-width:500px)">

@import url(narrow.css) only screen and
(max-width:500px);




                                             13
Recommendation: internal
• Main advantages:
  • No extra HTTP request(s)
  • Not out of sight and forgotten
• Learn full pros/cons: www.zomigi.com/blog/
  essential-considerations-crafting-quality-
  media-queries




                                               14
!
you now know media query syntax
            YAY



                                  15
but media queries don't actually
             DO
           anything



                                   16
it's the CSS
        INSIDE
that changes the appearance



                              17
Width-dependent layout changes
• Responsive web design:
  • Media queries + fluid layouts + fluid media
  • See www.alistapart.com/articles/responsive-
    web-design/
• Adaptive layouts:
  • Media queries + fixed-width layouts
  • See www.netmagazine.com/tutorials/
    adaptive-layouts-media-queries



                                                  18
Retrofitting responsiveness
• Typical to add on media queries for both
  smaller and wider styles
• CSS before media queries is default
• Can take different approach when starting
  from scratch
  • Start with "mobile," layer on wider styles?
  • Start with "desktop," layer on narrower styles?
  • Start with something in between for majority?


                                                      19
Starting with desktop styles
Pros:                       Cons:
• No extra work to          • Mobile devices may
  make majority width         have to download
  appear correctly on         unneeded desktop
  IE 6-8                      assets
• Easiest way to retrofit   • Need separate style
  existing site               sheets or JavaScript
                              to make mobile
                              design appear in IE
                              Mobile 7 and other
                              older mobile
                              browsers
                                                     20
Starting with mobile styles
Pros:                     Cons:
• Mobile devices won't    • Desktop devices may
  download unneeded         have to download
  desktop assets            unneeded mobile
• Older, non-media-         assets
  query-supporting        • Need separate style
  mobile browsers still     sheets or JavaScript
  get the mobile styles     to make majority
  without any extra         desktop design
  work                      appear in IE 6-8

                                                   21
Our
starting
point




           22
Very wide: awkward




                     23
Very
narrow:
awkward




          24
Wide-screen media query
/*all the other styles up here*/

@media screen and (min-width: 1200px) {
    /*styles for larger screens in here*/
}




                                            25
Add third column
@media screen and (min-width: 1200px) {
    #nav-main {
        position: fixed;
        top: 136px;
        width: 13%;
        margin: 0;
    }
    #content-main {
        width: 58%;
        margin-left: 18%;
    }
    #content-secondary { width: 20%; }
}
                                          26
Style nav as vertical menu
@media screen and (min-width: 1200px) {
    ...
    #nav-main li {
        float: none;
        margin: 0;
        }
    #nav-main a {
        -moz-border-radius: 0;
        -webkit-border-radius: 0;
        border-radius: 0;
    }
}

                                          27
Wide-screen design




                     28
Small-screen media query
/*all the other styles up here*/

@media screen and (max-width: 760px) {
    /*styles for smaller screens in here*/
}




                                             29
Remove columns from text
@media screen and (max-width: 760px) {
    h1 + p {
        -moz-column-count: 1;
        -o-column-count: 1;
        -webkit-column-count: 1;
        column-count: 1;
    }
}




                                         30
Stack feature boxes
@media screen and (max-width: 760px) {
    ...
    .feature {
        float: none;
        width: auto;
        margin: 0 0 1.6em 0;
        padding: 0 0 0 140px;
        background-position: top left;
    }
}


                                         31
Narrow-
screen
design




          32
&
    pause for
   CAVEATS

CLARIFICATIONS

                 33
Some sites would be better
served with a separate site for
mobile devices instead of using
media queries.




                                  34
Even if a separate mobile site
would be best, using media
queries is a good first step if a
separate site isn't currently
feasible.




                                    35
“The choice is not between using media queries
and creating a dedicated mobile site; the choice
is between using media queries and doing
nothing at all.”

                                      ―Jeremy Keith
                             http://adactio.com/journal/1696/



                                                                36
You can add media queries to a
dedicated mobile site in order to
cater to the wide range of
mobile viewport sizes.




                                    37
If you do use media queries on
a single site, they're not the only
tool you can use—you can add
scripting as well to further
customize the content, markup,
functionality, etc.



                                      38
Media queries are only meant to
solve the problem of mobile's
small viewports, not all the other
things that can make mobile
browsing different (such as
context, bandwidth, etc.).



                                     39
“It's making sure your layout doesn't look crap
on diff. sized screens.”
                                                ―Mark Boulton
            http://twitter.com/#!/markboulton/status/50237480368214016




                                                                         40
back to
CSS


          41
Mobile media query
/*all the other styles up here*/

@media screen and (max-width: 550px) {
    /*styles for tiny screens in here*/
}




                                          42
Non-overlapping version
@media screen and (min-width: 551px) and
(max-width: 760px) {
    /*styles for small screens in here*/
}
@media screen and (max-width: 550px) {
    /*styles for tiny screens in here*/
}




                                           43
Media features for mobile
min-width
max-width
device-width
min-device-width
max-device-width
orientation
min-device-pixel-ratio
 -webkit-min-device-pixel-ratio
 min--moz-device-pixel-ratio
 -o-min-device-pixel-ratio
                                  44
Useful media features for mobile
min-width
max-width
device-width
min-device-width
max-device-width
orientation
min-device-pixel-ratio
 -webkit-min-device-pixel-ratio
 min--moz-device-pixel-ratio
 -o-min-device-pixel-ratio
                                   45
Changing to single column
@media screen and (max-width: 550px) {
    #content-main, #content-secondary,
    #about, #credits {
        float: none;
        width: 100%;
    }
}




                                         46
Changing feature images
@media screen and (max-width: 550px) {
    ...
    .feature { padding-left: 70px; }
    #feature-candy {
        background-image: url(icon_candy_64.png);
    }
    #feature-pastry {
        background-image: url(icon_pastry_64.png);
    }
    #feature-dessert {
        background-image: url(icon_dessert_64.png);
    }
}
                                                      47
Mobile
design




         48
Viewport meta tag
Forces mobile devices to scale viewport to
actual device width

<meta name="viewport"
   content="width=device-width">




                                             49
Zoom problem in iOS
• Remember: device-width on iOS devices
  always matches portrait width
• This means design doesn't reflow when you
  switch to landscape, but instead just zooms




                                            50
Fixing (and adding) zoom issues
• Option 1: add maximum-scale=1
 • But disables user scaling
   <meta name="viewport"
      content="width=device-width, maximum-scale=1">


• Option 2: add initial-scale=1
 • Allows user scaling
 • But triggers over-zoom/crop bug when
   changing from portrait to landscape
   <meta name="viewport"
      content="width=device-width, initial-scale=1">

                                                   51
The best way to fix zoom issues
• Option 3: add initial-scale=1 plus
  script to fix over-zoom bug
  • See http://filamentgroup.com/lab/a_fix_for_
    the_ios_orientationchange_zoom_bug/

<head>
  ...
  <meta name="viewport"
      content="width=device-width, initial-scale=1">
  <script src="ios-orientationchange-fix.js">
  ...
</head>
                                                       52
View it live
http://stunningcss3.com/code/bakery/




                                       53
More responsive examples
• Design patterns:
  • "Multi-Device Layout Patterns" by Luke
    Wroblewski: www.lukew.com/ff/entry.asp?1514
  • "Responsive Navigation Patterns" by Brad
    Frost: http://bradfrostweb.com/blog/web/
    responsive-nav-patterns/
• Inspiration:
  • Gallery: http://mediaqueri.es/
  • My own bookmarks: https://gimmebar.com/
    loves/zomigi/tag/mediaqueries

                                                  54
Dealing with IE 8 and earlier
• Conditional comments
• JavaScript




                                55
Conditional comments
• Split styles into separate sheets and feed
  applicable sheet to IE based on whether
  it's IE on desktop or mobile
• Approach varies based on which set of
  styles are your default




                                               56
Conditional comment when
desktop styles are default
Feed IE Mobile 7 media query sheet:
<link rel="stylesheet" href="global.css" media="all">

<link rel="stylesheet" href="mobile.css" media="all
and (max-width: 700px)">

<!--[if IEMobile 7]>
<link rel="stylesheet" href="mobile.css" media="all">
<![endif]-->



Source: http://blogs.msdn.com/b/iemobile/archive/2010/12/08/targeting-mobile-
optimized-css-at-windows-phone-7.aspx                                         57
Conditional comment when
mobile styles are default
Feed older IE media query sheet, hide from
IE Mobile 7:
<link rel="stylesheet" href="global.css" media="all">

<link rel="stylesheet" href="desktop.css" media="all
and (min-width: 700px)">

<!--[if (lt IE 9)&(!IEMobile 7)]>
<link rel="stylesheet" href="desktop.css" media="all">
<![endif]-->

Source: http://adactio.com/journal/4494/
                                                        58
Pre-fab JavaScript for non-
supporting browsers
• Simply add one of these scripts:
  • Respond: https://github.com/scottjehl/Respond
  • css3-mediaqueries.js:
    http://code.google.com/p/css3-mediaqueries-js/
• Avoid extra HTTP request for non-old-IE
  browsers using conditional comments:
 <!--[if (lt IE 9)&(!IEMobile 7)]>
 <script src="respond.min.js"></script>
 <![endif]-->


                                                 59
?
 WHAT ELSE
can media queries do




                       60
Swapping images on high-res
displays
@media
screen   and   (moz--min-device-pixel-ratio : 1.5),
screen   and   (-o-min-device-pixel-ratio : 3/2),
screen   and   (-webkit-min-device-pixel-ratio : 1.5),
screen   and   (min-device-pixel-ratio : 1.5) {

}




                                                         61
Swapping images on high-res
displays
@media ... screen and (min-device-pixel-ratio : 1.5) {
    .feature {
        -moz-background-size: 64px 64px;
        -webkit-background-size: 64px 64px;
        background-size: 64px 64px;
    }
    #feature-candy {
        background-image: url(icon_candy_128.png); }
    #feature-pastry {
        background-image: url(icon_pastry_128.png); }
    #feature-dessert {
        background-image: url(icon_dessert_128.png); }
}

                                                         62
Learn more
Download slides and get links at
http://zomigi.com/blog/responsive-web-
design-presentation



Zoe Mickley Gillenwater
@zomigi
design@zomigi.com
zomigi.com | stunningcss3.com | flexiblewebbook.com
                                                      63

More Related Content

What's hot (20)

Bootstrap Framework
Bootstrap Framework Bootstrap Framework
Bootstrap Framework
 
Introduction to CSS3
Introduction to CSS3Introduction to CSS3
Introduction to CSS3
 
jQuery Mobile
jQuery MobilejQuery Mobile
jQuery Mobile
 
Introduction to SASS
Introduction to SASSIntroduction to SASS
Introduction to SASS
 
Css3
Css3Css3
Css3
 
HTML & CSS Masterclass
HTML & CSS MasterclassHTML & CSS Masterclass
HTML & CSS Masterclass
 
SASS - CSS with Superpower
SASS - CSS with SuperpowerSASS - CSS with Superpower
SASS - CSS with Superpower
 
Lab#13 responsive web
Lab#13 responsive webLab#13 responsive web
Lab#13 responsive web
 
Html5 tutorial for beginners
Html5 tutorial for beginnersHtml5 tutorial for beginners
Html5 tutorial for beginners
 
New Elements & Features in CSS3
New Elements & Features in CSS3New Elements & Features in CSS3
New Elements & Features in CSS3
 
Advanced Cascading Style Sheets
Advanced Cascading Style SheetsAdvanced Cascading Style Sheets
Advanced Cascading Style Sheets
 
Html forms
Html formsHtml forms
Html forms
 
HTML Fundamentals
HTML FundamentalsHTML Fundamentals
HTML Fundamentals
 
Presentation of bootstrap
Presentation of bootstrapPresentation of bootstrap
Presentation of bootstrap
 
Bootstrap
BootstrapBootstrap
Bootstrap
 
Introduction of Html/css/js
Introduction of Html/css/jsIntroduction of Html/css/js
Introduction of Html/css/js
 
Css animation
Css animationCss animation
Css animation
 
Css Ppt
Css PptCss Ppt
Css Ppt
 
CSS Font & Text style
CSS Font & Text style CSS Font & Text style
CSS Font & Text style
 
CSS
CSSCSS
CSS
 

Viewers also liked

CSS Fundamentals: selectors and Properties
CSS Fundamentals: selectors and PropertiesCSS Fundamentals: selectors and Properties
CSS Fundamentals: selectors and PropertiesPedro Valente
 
CSS3 Media Queries & Kick Start for Mobile
CSS3 Media Queries & Kick Start for MobileCSS3 Media Queries & Kick Start for Mobile
CSS3 Media Queries & Kick Start for Mobileambientphoto
 
Practical CSS3 Animations
Practical CSS3 AnimationsPractical CSS3 Animations
Practical CSS3 AnimationsAmber Makeyev
 
Building the Media Block in ReactJS
Building the Media Block in ReactJS Building the Media Block in ReactJS
Building the Media Block in ReactJS Nicole Sullivan
 
Responsive UI using CSS Media Query
Responsive UI using CSS Media QueryResponsive UI using CSS Media Query
Responsive UI using CSS Media QueryNeev Technologies
 
CSS3 Media Queries: Mobile Elixir or CSS Snake Oil
CSS3 Media Queries: Mobile Elixir or CSS Snake OilCSS3 Media Queries: Mobile Elixir or CSS Snake Oil
CSS3 Media Queries: Mobile Elixir or CSS Snake Oiljameswillweb
 
Responsive Web Design
Responsive Web DesignResponsive Web Design
Responsive Web DesignJustin Avery
 
4 peraturan reklamasi dan pascatambang bimtek redtop [compatibility mode]
4 peraturan reklamasi dan pascatambang bimtek redtop [compatibility mode]4 peraturan reklamasi dan pascatambang bimtek redtop [compatibility mode]
4 peraturan reklamasi dan pascatambang bimtek redtop [compatibility mode]MetaKonten Media Monitoring
 
As Media Queries são só um detalhe!
As Media Queries são só um detalhe!As Media Queries são só um detalhe!
As Media Queries são só um detalhe!Edu Agni
 
Penyusunan Rencana Pastambang
Penyusunan Rencana PastambangPenyusunan Rencana Pastambang
Penyusunan Rencana PastambangYusufRiyandi
 
Peraturan Menteri tentang Pelaksanaan Reklamasi dan Pascatambang pada Kegiata...
Peraturan Menteri tentang Pelaksanaan Reklamasi dan Pascatambang pada Kegiata...Peraturan Menteri tentang Pelaksanaan Reklamasi dan Pascatambang pada Kegiata...
Peraturan Menteri tentang Pelaksanaan Reklamasi dan Pascatambang pada Kegiata...Publish What You Pay (PWYP) Indonesia
 
Tata cara perhitungan jaminan reklamasi (final) danang
Tata cara perhitungan jaminan reklamasi (final) danang Tata cara perhitungan jaminan reklamasi (final) danang
Tata cara perhitungan jaminan reklamasi (final) danang MetaKonten Media Monitoring
 
HTML5 for PHP Developers - IPC
HTML5 for PHP Developers - IPCHTML5 for PHP Developers - IPC
HTML5 for PHP Developers - IPCMayflower GmbH
 
Web Components and Modular CSS
Web Components and Modular CSSWeb Components and Modular CSS
Web Components and Modular CSSAndrew Rota
 

Viewers also liked (20)

Introdução à media queries
Introdução à media queriesIntrodução à media queries
Introdução à media queries
 
CSS Fundamentals: selectors and Properties
CSS Fundamentals: selectors and PropertiesCSS Fundamentals: selectors and Properties
CSS Fundamentals: selectors and Properties
 
Jquery Ajax
Jquery AjaxJquery Ajax
Jquery Ajax
 
jQuery Ajax
jQuery AjaxjQuery Ajax
jQuery Ajax
 
CSS3 Media Queries & Kick Start for Mobile
CSS3 Media Queries & Kick Start for MobileCSS3 Media Queries & Kick Start for Mobile
CSS3 Media Queries & Kick Start for Mobile
 
Practical CSS3 Animations
Practical CSS3 AnimationsPractical CSS3 Animations
Practical CSS3 Animations
 
JavaScript JQUERY AJAX
JavaScript JQUERY AJAXJavaScript JQUERY AJAX
JavaScript JQUERY AJAX
 
Ajax and Jquery
Ajax and JqueryAjax and Jquery
Ajax and Jquery
 
Building the Media Block in ReactJS
Building the Media Block in ReactJS Building the Media Block in ReactJS
Building the Media Block in ReactJS
 
Responsive UI using CSS Media Query
Responsive UI using CSS Media QueryResponsive UI using CSS Media Query
Responsive UI using CSS Media Query
 
CSS3 Media Queries: Mobile Elixir or CSS Snake Oil
CSS3 Media Queries: Mobile Elixir or CSS Snake OilCSS3 Media Queries: Mobile Elixir or CSS Snake Oil
CSS3 Media Queries: Mobile Elixir or CSS Snake Oil
 
Responsive Web Design
Responsive Web DesignResponsive Web Design
Responsive Web Design
 
4 peraturan reklamasi dan pascatambang bimtek redtop [compatibility mode]
4 peraturan reklamasi dan pascatambang bimtek redtop [compatibility mode]4 peraturan reklamasi dan pascatambang bimtek redtop [compatibility mode]
4 peraturan reklamasi dan pascatambang bimtek redtop [compatibility mode]
 
Web design responsivo e adaptativo - HTML5/CSS3
Web design responsivo e adaptativo - HTML5/CSS3Web design responsivo e adaptativo - HTML5/CSS3
Web design responsivo e adaptativo - HTML5/CSS3
 
As Media Queries são só um detalhe!
As Media Queries são só um detalhe!As Media Queries são só um detalhe!
As Media Queries são só um detalhe!
 
Penyusunan Rencana Pastambang
Penyusunan Rencana PastambangPenyusunan Rencana Pastambang
Penyusunan Rencana Pastambang
 
Peraturan Menteri tentang Pelaksanaan Reklamasi dan Pascatambang pada Kegiata...
Peraturan Menteri tentang Pelaksanaan Reklamasi dan Pascatambang pada Kegiata...Peraturan Menteri tentang Pelaksanaan Reklamasi dan Pascatambang pada Kegiata...
Peraturan Menteri tentang Pelaksanaan Reklamasi dan Pascatambang pada Kegiata...
 
Tata cara perhitungan jaminan reklamasi (final) danang
Tata cara perhitungan jaminan reklamasi (final) danang Tata cara perhitungan jaminan reklamasi (final) danang
Tata cara perhitungan jaminan reklamasi (final) danang
 
HTML5 for PHP Developers - IPC
HTML5 for PHP Developers - IPCHTML5 for PHP Developers - IPC
HTML5 for PHP Developers - IPC
 
Web Components and Modular CSS
Web Components and Modular CSSWeb Components and Modular CSS
Web Components and Modular CSS
 

Similar to CSS3, Media Queries, and Responsive Design

CSS3: Using media queries to improve the web site experience
CSS3: Using media queries to improve the web site experienceCSS3: Using media queries to improve the web site experience
CSS3: Using media queries to improve the web site experienceZoe Gillenwater
 
Great Responsive-ability Web Design
Great Responsive-ability Web DesignGreat Responsive-ability Web Design
Great Responsive-ability Web DesignMike Wilcox
 
Responsive Web Design On Student's day
Responsive Web Design On Student's day Responsive Web Design On Student's day
Responsive Web Design On Student's day psophy
 
An Introduction to Responsive Design
An Introduction to Responsive DesignAn Introduction to Responsive Design
An Introduction to Responsive DesignValtech UK
 
Responsive Web Design_2013
Responsive Web Design_2013Responsive Web Design_2013
Responsive Web Design_2013Achieve Internet
 
Mobile Best Practices
Mobile Best PracticesMobile Best Practices
Mobile Best Practicesmintersam
 
Advancio, Inc. Academy: Responsive Web Design
Advancio, Inc. Academy: Responsive Web DesignAdvancio, Inc. Academy: Responsive Web Design
Advancio, Inc. Academy: Responsive Web DesignAdvancio
 
The Mobile Development Landscape
The Mobile Development LandscapeThe Mobile Development Landscape
The Mobile Development LandscapeAmbert Ho
 
Responsive Web Design
Responsive Web DesignResponsive Web Design
Responsive Web DesignJulia Vi
 
BarkleyREI & Hannon Hill Webinar - Responsive Web Design
BarkleyREI & Hannon Hill Webinar - Responsive Web DesignBarkleyREI & Hannon Hill Webinar - Responsive Web Design
BarkleyREI & Hannon Hill Webinar - Responsive Web Designhannonhill
 
Responsive Web Design in Cascade Server, by Chris Cox of BarkleyREI
Responsive Web Design in Cascade Server, by Chris Cox of BarkleyREIResponsive Web Design in Cascade Server, by Chris Cox of BarkleyREI
Responsive Web Design in Cascade Server, by Chris Cox of BarkleyREIhannonhill
 
FITC - 2012-04-23 - Responsive Web Design
FITC - 2012-04-23 - Responsive Web DesignFITC - 2012-04-23 - Responsive Web Design
FITC - 2012-04-23 - Responsive Web DesignFrédéric Harper
 
Responsive web designing course in Chandigarh
Responsive web designing course in Chandigarh Responsive web designing course in Chandigarh
Responsive web designing course in Chandigarh Big Boxx Animation Academy
 
Responsive web design
Responsive web designResponsive web design
Responsive web designBen MacNeill
 
CSS3: Simply Responsive
CSS3: Simply ResponsiveCSS3: Simply Responsive
CSS3: Simply ResponsiveDenise Jacobs
 
Effective and Efficient Design with CSS3
Effective and Efficient Design with CSS3Effective and Efficient Design with CSS3
Effective and Efficient Design with CSS3Zoe Gillenwater
 
Responsive Web Design (HeadStart TechTalks)
Responsive Web Design (HeadStart TechTalks)Responsive Web Design (HeadStart TechTalks)
Responsive Web Design (HeadStart TechTalks)Tirthesh Ganatra
 
Responsive UX - One size fits all @BigDesign conference #BigD12
Responsive UX - One size fits all   @BigDesign conference #BigD12Responsive UX - One size fits all   @BigDesign conference #BigD12
Responsive UX - One size fits all @BigDesign conference #BigD12touchtitans
 

Similar to CSS3, Media Queries, and Responsive Design (20)

CSS3: Using media queries to improve the web site experience
CSS3: Using media queries to improve the web site experienceCSS3: Using media queries to improve the web site experience
CSS3: Using media queries to improve the web site experience
 
Great Responsive-ability Web Design
Great Responsive-ability Web DesignGreat Responsive-ability Web Design
Great Responsive-ability Web Design
 
Responsive Web Design On Student's day
Responsive Web Design On Student's day Responsive Web Design On Student's day
Responsive Web Design On Student's day
 
An Introduction to Responsive Design
An Introduction to Responsive DesignAn Introduction to Responsive Design
An Introduction to Responsive Design
 
Responsive Web Design_2013
Responsive Web Design_2013Responsive Web Design_2013
Responsive Web Design_2013
 
Mobile Best Practices
Mobile Best PracticesMobile Best Practices
Mobile Best Practices
 
Advancio, Inc. Academy: Responsive Web Design
Advancio, Inc. Academy: Responsive Web DesignAdvancio, Inc. Academy: Responsive Web Design
Advancio, Inc. Academy: Responsive Web Design
 
Mobile web development
Mobile web development Mobile web development
Mobile web development
 
The Mobile Development Landscape
The Mobile Development LandscapeThe Mobile Development Landscape
The Mobile Development Landscape
 
Responsive Web Design
Responsive Web DesignResponsive Web Design
Responsive Web Design
 
BarkleyREI & Hannon Hill Webinar - Responsive Web Design
BarkleyREI & Hannon Hill Webinar - Responsive Web DesignBarkleyREI & Hannon Hill Webinar - Responsive Web Design
BarkleyREI & Hannon Hill Webinar - Responsive Web Design
 
Responsive Web Design in Cascade Server, by Chris Cox of BarkleyREI
Responsive Web Design in Cascade Server, by Chris Cox of BarkleyREIResponsive Web Design in Cascade Server, by Chris Cox of BarkleyREI
Responsive Web Design in Cascade Server, by Chris Cox of BarkleyREI
 
FITC - 2012-04-23 - Responsive Web Design
FITC - 2012-04-23 - Responsive Web DesignFITC - 2012-04-23 - Responsive Web Design
FITC - 2012-04-23 - Responsive Web Design
 
Responsive web designing course in Chandigarh
Responsive web designing course in Chandigarh Responsive web designing course in Chandigarh
Responsive web designing course in Chandigarh
 
Real-world CSS3
Real-world CSS3Real-world CSS3
Real-world CSS3
 
Responsive web design
Responsive web designResponsive web design
Responsive web design
 
CSS3: Simply Responsive
CSS3: Simply ResponsiveCSS3: Simply Responsive
CSS3: Simply Responsive
 
Effective and Efficient Design with CSS3
Effective and Efficient Design with CSS3Effective and Efficient Design with CSS3
Effective and Efficient Design with CSS3
 
Responsive Web Design (HeadStart TechTalks)
Responsive Web Design (HeadStart TechTalks)Responsive Web Design (HeadStart TechTalks)
Responsive Web Design (HeadStart TechTalks)
 
Responsive UX - One size fits all @BigDesign conference #BigD12
Responsive UX - One size fits all   @BigDesign conference #BigD12Responsive UX - One size fits all   @BigDesign conference #BigD12
Responsive UX - One size fits all @BigDesign conference #BigD12
 

More from Zoe Gillenwater

Using Flexbox Today (Frontier Conf 2016)
Using Flexbox Today (Frontier Conf 2016)Using Flexbox Today (Frontier Conf 2016)
Using Flexbox Today (Frontier Conf 2016)Zoe Gillenwater
 
Using Flexbox Today (Generate Sydney 2016)
Using Flexbox Today (Generate Sydney 2016)Using Flexbox Today (Generate Sydney 2016)
Using Flexbox Today (Generate Sydney 2016)Zoe Gillenwater
 
Using Flexbox Today (CSS Summit 2016)
Using Flexbox Today (CSS Summit 2016)Using Flexbox Today (CSS Summit 2016)
Using Flexbox Today (CSS Summit 2016)Zoe Gillenwater
 
Using Flexbox Today (Frontend United 2016)
Using Flexbox Today (Frontend United 2016)Using Flexbox Today (Frontend United 2016)
Using Flexbox Today (Frontend United 2016)Zoe Gillenwater
 
Show vs. Tell in UX Design (Front in Amsterdam)
Show vs. Tell in UX Design (Front in Amsterdam)Show vs. Tell in UX Design (Front in Amsterdam)
Show vs. Tell in UX Design (Front in Amsterdam)Zoe Gillenwater
 
Enhancing Responsiveness with Flexbox (CSS Conf EU 2015)
Enhancing Responsiveness with Flexbox (CSS Conf EU 2015)Enhancing Responsiveness with Flexbox (CSS Conf EU 2015)
Enhancing Responsiveness with Flexbox (CSS Conf EU 2015)Zoe Gillenwater
 
Responsive Flexbox Inspiration (Responsive Day Out)
Responsive Flexbox Inspiration (Responsive Day Out)Responsive Flexbox Inspiration (Responsive Day Out)
Responsive Flexbox Inspiration (Responsive Day Out)Zoe Gillenwater
 
Enhancing Responsiveness With Flexbox (CSS Day)
Enhancing Responsiveness With Flexbox (CSS Day)Enhancing Responsiveness With Flexbox (CSS Day)
Enhancing Responsiveness With Flexbox (CSS Day)Zoe Gillenwater
 
CSS Lessons Learned the Hard Way (ConvergeSE)
CSS Lessons Learned the Hard Way (ConvergeSE)CSS Lessons Learned the Hard Way (ConvergeSE)
CSS Lessons Learned the Hard Way (ConvergeSE)Zoe Gillenwater
 
Enhancing Responsiveness With Flexbox (Smashing Conference)
Enhancing Responsiveness With Flexbox (Smashing Conference)Enhancing Responsiveness With Flexbox (Smashing Conference)
Enhancing Responsiveness With Flexbox (Smashing Conference)Zoe Gillenwater
 
Enhancing Responsiveness with Flexbox (RWD Summit)
Enhancing Responsiveness with Flexbox (RWD Summit)Enhancing Responsiveness with Flexbox (RWD Summit)
Enhancing Responsiveness with Flexbox (RWD Summit)Zoe Gillenwater
 
CSS Lessons Learned the Hard Way (Beyond Tellerand)
CSS Lessons Learned the Hard Way (Beyond Tellerand)CSS Lessons Learned the Hard Way (Beyond Tellerand)
CSS Lessons Learned the Hard Way (Beyond Tellerand)Zoe Gillenwater
 
CSS Lessons Learned the Hard Way (Generate Conf)
CSS Lessons Learned the Hard Way (Generate Conf)CSS Lessons Learned the Hard Way (Generate Conf)
CSS Lessons Learned the Hard Way (Generate Conf)Zoe Gillenwater
 
Leveling Up With Flexbox (Smart Web Conference)
Leveling Up With Flexbox (Smart Web Conference)Leveling Up With Flexbox (Smart Web Conference)
Leveling Up With Flexbox (Smart Web Conference)Zoe Gillenwater
 
Leveling Up with Flexbox (Smashing Conference)
Leveling Up with Flexbox (Smashing Conference)Leveling Up with Flexbox (Smashing Conference)
Leveling Up with Flexbox (Smashing Conference)Zoe Gillenwater
 
Just One (CSS Dev Conference keynote)
Just One (CSS Dev Conference keynote)Just One (CSS Dev Conference keynote)
Just One (CSS Dev Conference keynote)Zoe Gillenwater
 
Putting Flexbox into Practice (Fronteers)
Putting Flexbox into Practice (Fronteers)Putting Flexbox into Practice (Fronteers)
Putting Flexbox into Practice (Fronteers)Zoe Gillenwater
 
Putting Flexbox into Practice
Putting Flexbox into PracticePutting Flexbox into Practice
Putting Flexbox into PracticeZoe Gillenwater
 
Building Responsive Layouts
Building Responsive LayoutsBuilding Responsive Layouts
Building Responsive LayoutsZoe Gillenwater
 

More from Zoe Gillenwater (20)

Using Flexbox Today (Frontier Conf 2016)
Using Flexbox Today (Frontier Conf 2016)Using Flexbox Today (Frontier Conf 2016)
Using Flexbox Today (Frontier Conf 2016)
 
Using Flexbox Today (Generate Sydney 2016)
Using Flexbox Today (Generate Sydney 2016)Using Flexbox Today (Generate Sydney 2016)
Using Flexbox Today (Generate Sydney 2016)
 
Using Flexbox Today (CSS Summit 2016)
Using Flexbox Today (CSS Summit 2016)Using Flexbox Today (CSS Summit 2016)
Using Flexbox Today (CSS Summit 2016)
 
Using Flexbox Today (Frontend United 2016)
Using Flexbox Today (Frontend United 2016)Using Flexbox Today (Frontend United 2016)
Using Flexbox Today (Frontend United 2016)
 
Show vs. Tell in UX Design (Front in Amsterdam)
Show vs. Tell in UX Design (Front in Amsterdam)Show vs. Tell in UX Design (Front in Amsterdam)
Show vs. Tell in UX Design (Front in Amsterdam)
 
Enhancing Responsiveness with Flexbox (CSS Conf EU 2015)
Enhancing Responsiveness with Flexbox (CSS Conf EU 2015)Enhancing Responsiveness with Flexbox (CSS Conf EU 2015)
Enhancing Responsiveness with Flexbox (CSS Conf EU 2015)
 
Responsive Flexbox Inspiration (Responsive Day Out)
Responsive Flexbox Inspiration (Responsive Day Out)Responsive Flexbox Inspiration (Responsive Day Out)
Responsive Flexbox Inspiration (Responsive Day Out)
 
Enhancing Responsiveness With Flexbox (CSS Day)
Enhancing Responsiveness With Flexbox (CSS Day)Enhancing Responsiveness With Flexbox (CSS Day)
Enhancing Responsiveness With Flexbox (CSS Day)
 
CSS Lessons Learned the Hard Way (ConvergeSE)
CSS Lessons Learned the Hard Way (ConvergeSE)CSS Lessons Learned the Hard Way (ConvergeSE)
CSS Lessons Learned the Hard Way (ConvergeSE)
 
Enhancing Responsiveness With Flexbox (Smashing Conference)
Enhancing Responsiveness With Flexbox (Smashing Conference)Enhancing Responsiveness With Flexbox (Smashing Conference)
Enhancing Responsiveness With Flexbox (Smashing Conference)
 
Enhancing Responsiveness with Flexbox (RWD Summit)
Enhancing Responsiveness with Flexbox (RWD Summit)Enhancing Responsiveness with Flexbox (RWD Summit)
Enhancing Responsiveness with Flexbox (RWD Summit)
 
CSS Lessons Learned the Hard Way (Beyond Tellerand)
CSS Lessons Learned the Hard Way (Beyond Tellerand)CSS Lessons Learned the Hard Way (Beyond Tellerand)
CSS Lessons Learned the Hard Way (Beyond Tellerand)
 
CSS Lessons Learned the Hard Way (Generate Conf)
CSS Lessons Learned the Hard Way (Generate Conf)CSS Lessons Learned the Hard Way (Generate Conf)
CSS Lessons Learned the Hard Way (Generate Conf)
 
Leveling Up With Flexbox (Smart Web Conference)
Leveling Up With Flexbox (Smart Web Conference)Leveling Up With Flexbox (Smart Web Conference)
Leveling Up With Flexbox (Smart Web Conference)
 
Leveling Up with Flexbox (Smashing Conference)
Leveling Up with Flexbox (Smashing Conference)Leveling Up with Flexbox (Smashing Conference)
Leveling Up with Flexbox (Smashing Conference)
 
Just One (CSS Dev Conference keynote)
Just One (CSS Dev Conference keynote)Just One (CSS Dev Conference keynote)
Just One (CSS Dev Conference keynote)
 
Putting Flexbox into Practice (Fronteers)
Putting Flexbox into Practice (Fronteers)Putting Flexbox into Practice (Fronteers)
Putting Flexbox into Practice (Fronteers)
 
Putting Flexbox into Practice
Putting Flexbox into PracticePutting Flexbox into Practice
Putting Flexbox into Practice
 
CSS3 Layout
CSS3 LayoutCSS3 Layout
CSS3 Layout
 
Building Responsive Layouts
Building Responsive LayoutsBuilding Responsive Layouts
Building Responsive Layouts
 

Recently uploaded

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
 
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
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfIngrid Airi González
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationKnoldus Inc.
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
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
 
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
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...AliaaTarek5
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
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
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
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
 
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
 

Recently uploaded (20)

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...
 
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
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
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
 
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
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
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
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
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...
 
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
 

CSS3, Media Queries, and Responsive Design

  • 1. & CSS3, Media Queries, Responsive Design May 23, 2012 STC Summit Zoe Mickley Gillenwater | @zomigi
  • 2. What I do Books Web Stunning CSS3: Accessibility A Project-based Guide to specialist at AT&T the Latest in CSS Visual designer www.stunningcss3.com CSS developer and consultant Flexible Web Design: Creating Liquid and Elastic Layouts with CSS www.flexiblewebbook.com 2
  • 3. 1 3 My home's web-enabled devices 2 2 3
  • 4. & devices more mobile devices more diversity within EVERY DAY 4
  • 5. & every day 1.45 MILLION DEVICES 317,124 BABIES enter the world Source: http://www.lukew.com/ff/entry.asp?1506 5
  • 6. Growing screen resolution diversity on desktop May 2009 widths May 2012 widths 1366 1024 1024 1280 1280 1440 1440 1680 1920 800 1600 1152 1680 other 1360 other Source: http://gs.statcounter.com 6
  • 7. 25% of U.S. smartphone users do MOST OR ALL of their web browsing on mobile Source: http://www.lukew.com/ff/entry.asp?1405 7
  • 8. ? how can our sites accommodate all this DIVERSITY 8
  • 9. Introducing media queries • Awesome new part of CSS3 • Simple way to feed different CSS based on characteristics of user's device • Used to build responsive/adaptive designs • Not: • for feeding styles based on browser • just for feeding styles based on viewport size 9
  • 10. Media query syntax: internal body { background: gray; } @media screen and (max-width:500px) { body { background: blue; } } English translation: Make the background gray. But up to a maximum width of 500 pixels, make the background blue. 10
  • 11. Flip flop it body { background: blue; } @media screen and (min-width:501px) { body { background: gray; } } English translation: Make the background blue. But at and past the minimum width of 501 pixels, make the background gray. 11
  • 13. Media query syntax: external Extend the existing media part of the link element or @import rule: <link href="narrow.css" rel="stylesheet" media="only screen and (max-width:500px)"> @import url(narrow.css) only screen and (max-width:500px); 13
  • 14. Recommendation: internal • Main advantages: • No extra HTTP request(s) • Not out of sight and forgotten • Learn full pros/cons: www.zomigi.com/blog/ essential-considerations-crafting-quality- media-queries 14
  • 15. ! you now know media query syntax YAY 15
  • 16. but media queries don't actually DO anything 16
  • 17. it's the CSS INSIDE that changes the appearance 17
  • 18. Width-dependent layout changes • Responsive web design: • Media queries + fluid layouts + fluid media • See www.alistapart.com/articles/responsive- web-design/ • Adaptive layouts: • Media queries + fixed-width layouts • See www.netmagazine.com/tutorials/ adaptive-layouts-media-queries 18
  • 19. Retrofitting responsiveness • Typical to add on media queries for both smaller and wider styles • CSS before media queries is default • Can take different approach when starting from scratch • Start with "mobile," layer on wider styles? • Start with "desktop," layer on narrower styles? • Start with something in between for majority? 19
  • 20. Starting with desktop styles Pros: Cons: • No extra work to • Mobile devices may make majority width have to download appear correctly on unneeded desktop IE 6-8 assets • Easiest way to retrofit • Need separate style existing site sheets or JavaScript to make mobile design appear in IE Mobile 7 and other older mobile browsers 20
  • 21. Starting with mobile styles Pros: Cons: • Mobile devices won't • Desktop devices may download unneeded have to download desktop assets unneeded mobile • Older, non-media- assets query-supporting • Need separate style mobile browsers still sheets or JavaScript get the mobile styles to make majority without any extra desktop design work appear in IE 6-8 21
  • 25. Wide-screen media query /*all the other styles up here*/ @media screen and (min-width: 1200px) { /*styles for larger screens in here*/ } 25
  • 26. Add third column @media screen and (min-width: 1200px) { #nav-main { position: fixed; top: 136px; width: 13%; margin: 0; } #content-main { width: 58%; margin-left: 18%; } #content-secondary { width: 20%; } } 26
  • 27. Style nav as vertical menu @media screen and (min-width: 1200px) { ... #nav-main li { float: none; margin: 0; } #nav-main a { -moz-border-radius: 0; -webkit-border-radius: 0; border-radius: 0; } } 27
  • 29. Small-screen media query /*all the other styles up here*/ @media screen and (max-width: 760px) { /*styles for smaller screens in here*/ } 29
  • 30. Remove columns from text @media screen and (max-width: 760px) { h1 + p { -moz-column-count: 1; -o-column-count: 1; -webkit-column-count: 1; column-count: 1; } } 30
  • 31. Stack feature boxes @media screen and (max-width: 760px) { ... .feature { float: none; width: auto; margin: 0 0 1.6em 0; padding: 0 0 0 140px; background-position: top left; } } 31
  • 33. & pause for CAVEATS CLARIFICATIONS 33
  • 34. Some sites would be better served with a separate site for mobile devices instead of using media queries. 34
  • 35. Even if a separate mobile site would be best, using media queries is a good first step if a separate site isn't currently feasible. 35
  • 36. “The choice is not between using media queries and creating a dedicated mobile site; the choice is between using media queries and doing nothing at all.” ―Jeremy Keith http://adactio.com/journal/1696/ 36
  • 37. You can add media queries to a dedicated mobile site in order to cater to the wide range of mobile viewport sizes. 37
  • 38. If you do use media queries on a single site, they're not the only tool you can use—you can add scripting as well to further customize the content, markup, functionality, etc. 38
  • 39. Media queries are only meant to solve the problem of mobile's small viewports, not all the other things that can make mobile browsing different (such as context, bandwidth, etc.). 39
  • 40. “It's making sure your layout doesn't look crap on diff. sized screens.” ―Mark Boulton http://twitter.com/#!/markboulton/status/50237480368214016 40
  • 42. Mobile media query /*all the other styles up here*/ @media screen and (max-width: 550px) { /*styles for tiny screens in here*/ } 42
  • 43. Non-overlapping version @media screen and (min-width: 551px) and (max-width: 760px) { /*styles for small screens in here*/ } @media screen and (max-width: 550px) { /*styles for tiny screens in here*/ } 43
  • 44. Media features for mobile min-width max-width device-width min-device-width max-device-width orientation min-device-pixel-ratio -webkit-min-device-pixel-ratio min--moz-device-pixel-ratio -o-min-device-pixel-ratio 44
  • 45. Useful media features for mobile min-width max-width device-width min-device-width max-device-width orientation min-device-pixel-ratio -webkit-min-device-pixel-ratio min--moz-device-pixel-ratio -o-min-device-pixel-ratio 45
  • 46. Changing to single column @media screen and (max-width: 550px) { #content-main, #content-secondary, #about, #credits { float: none; width: 100%; } } 46
  • 47. Changing feature images @media screen and (max-width: 550px) { ... .feature { padding-left: 70px; } #feature-candy { background-image: url(icon_candy_64.png); } #feature-pastry { background-image: url(icon_pastry_64.png); } #feature-dessert { background-image: url(icon_dessert_64.png); } } 47
  • 49. Viewport meta tag Forces mobile devices to scale viewport to actual device width <meta name="viewport" content="width=device-width"> 49
  • 50. Zoom problem in iOS • Remember: device-width on iOS devices always matches portrait width • This means design doesn't reflow when you switch to landscape, but instead just zooms 50
  • 51. Fixing (and adding) zoom issues • Option 1: add maximum-scale=1 • But disables user scaling <meta name="viewport" content="width=device-width, maximum-scale=1"> • Option 2: add initial-scale=1 • Allows user scaling • But triggers over-zoom/crop bug when changing from portrait to landscape <meta name="viewport" content="width=device-width, initial-scale=1"> 51
  • 52. The best way to fix zoom issues • Option 3: add initial-scale=1 plus script to fix over-zoom bug • See http://filamentgroup.com/lab/a_fix_for_ the_ios_orientationchange_zoom_bug/ <head> ... <meta name="viewport" content="width=device-width, initial-scale=1"> <script src="ios-orientationchange-fix.js"> ... </head> 52
  • 54. More responsive examples • Design patterns: • "Multi-Device Layout Patterns" by Luke Wroblewski: www.lukew.com/ff/entry.asp?1514 • "Responsive Navigation Patterns" by Brad Frost: http://bradfrostweb.com/blog/web/ responsive-nav-patterns/ • Inspiration: • Gallery: http://mediaqueri.es/ • My own bookmarks: https://gimmebar.com/ loves/zomigi/tag/mediaqueries 54
  • 55. Dealing with IE 8 and earlier • Conditional comments • JavaScript 55
  • 56. Conditional comments • Split styles into separate sheets and feed applicable sheet to IE based on whether it's IE on desktop or mobile • Approach varies based on which set of styles are your default 56
  • 57. Conditional comment when desktop styles are default Feed IE Mobile 7 media query sheet: <link rel="stylesheet" href="global.css" media="all"> <link rel="stylesheet" href="mobile.css" media="all and (max-width: 700px)"> <!--[if IEMobile 7]> <link rel="stylesheet" href="mobile.css" media="all"> <![endif]--> Source: http://blogs.msdn.com/b/iemobile/archive/2010/12/08/targeting-mobile- optimized-css-at-windows-phone-7.aspx 57
  • 58. Conditional comment when mobile styles are default Feed older IE media query sheet, hide from IE Mobile 7: <link rel="stylesheet" href="global.css" media="all"> <link rel="stylesheet" href="desktop.css" media="all and (min-width: 700px)"> <!--[if (lt IE 9)&(!IEMobile 7)]> <link rel="stylesheet" href="desktop.css" media="all"> <![endif]--> Source: http://adactio.com/journal/4494/ 58
  • 59. Pre-fab JavaScript for non- supporting browsers • Simply add one of these scripts: • Respond: https://github.com/scottjehl/Respond • css3-mediaqueries.js: http://code.google.com/p/css3-mediaqueries-js/ • Avoid extra HTTP request for non-old-IE browsers using conditional comments: <!--[if (lt IE 9)&(!IEMobile 7)]> <script src="respond.min.js"></script> <![endif]--> 59
  • 60. ? WHAT ELSE can media queries do 60
  • 61. Swapping images on high-res displays @media screen and (moz--min-device-pixel-ratio : 1.5), screen and (-o-min-device-pixel-ratio : 3/2), screen and (-webkit-min-device-pixel-ratio : 1.5), screen and (min-device-pixel-ratio : 1.5) { } 61
  • 62. Swapping images on high-res displays @media ... screen and (min-device-pixel-ratio : 1.5) { .feature { -moz-background-size: 64px 64px; -webkit-background-size: 64px 64px; background-size: 64px 64px; } #feature-candy { background-image: url(icon_candy_128.png); } #feature-pastry { background-image: url(icon_pastry_128.png); } #feature-dessert { background-image: url(icon_dessert_128.png); } } 62
  • 63. Learn more Download slides and get links at http://zomigi.com/blog/responsive-web- design-presentation Zoe Mickley Gillenwater @zomigi design@zomigi.com zomigi.com | stunningcss3.com | flexiblewebbook.com 63