SlideShare uma empresa Scribd logo
1 de 63
Baixar para ler 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

Mais conteúdo relacionado

Mais procurados

Mais procurados (20)

Intro to HTML and CSS basics
Intro to HTML and CSS basicsIntro to HTML and CSS basics
Intro to HTML and CSS basics
 
CSS Day: CSS Grid Layout
CSS Day: CSS Grid Layout CSS Day: CSS Grid Layout
CSS Day: CSS Grid Layout
 
CSS
CSSCSS
CSS
 
jQuery for beginners
jQuery for beginnersjQuery for beginners
jQuery for beginners
 
CSS Best practice
CSS Best practiceCSS Best practice
CSS Best practice
 
Introduction to Cascading Style Sheets (CSS)
Introduction to Cascading Style Sheets (CSS)Introduction to Cascading Style Sheets (CSS)
Introduction to Cascading Style Sheets (CSS)
 
Cascading style sheets (CSS)
Cascading style sheets (CSS)Cascading style sheets (CSS)
Cascading style sheets (CSS)
 
Introduction to CSS3
Introduction to CSS3Introduction to CSS3
Introduction to CSS3
 
HTML5: features with examples
HTML5: features with examplesHTML5: features with examples
HTML5: features with examples
 
Css
CssCss
Css
 
Css3
Css3Css3
Css3
 
CSS
CSSCSS
CSS
 
Lab #2: Introduction to Javascript
Lab #2: Introduction to JavascriptLab #2: Introduction to Javascript
Lab #2: Introduction to Javascript
 
Introduction to HTML and CSS
Introduction to HTML and CSSIntroduction to HTML and CSS
Introduction to HTML and CSS
 
Java script
Java scriptJava script
Java script
 
Java Script ppt
Java Script pptJava Script ppt
Java Script ppt
 
Flexbox
FlexboxFlexbox
Flexbox
 
CSS
CSSCSS
CSS
 
JavaScript - Chapter 3 - Introduction
 JavaScript - Chapter 3 - Introduction JavaScript - Chapter 3 - Introduction
JavaScript - Chapter 3 - Introduction
 
Flexbox and Grid Layout
Flexbox and Grid LayoutFlexbox and Grid Layout
Flexbox and Grid Layout
 

Destaque

CSS3 Media Queries And Creating Adaptive Layouts
CSS3 Media Queries And Creating Adaptive LayoutsCSS3 Media Queries And Creating Adaptive Layouts
CSS3 Media Queries And Creating Adaptive LayoutsSvitlana Ivanytska
 
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
 

Destaque (20)

CSS3 Media Queries And Creating Adaptive Layouts
CSS3 Media Queries And Creating Adaptive LayoutsCSS3 Media Queries And Creating Adaptive Layouts
CSS3 Media Queries And Creating Adaptive Layouts
 
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
 

Semelhante a 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
 

Semelhante a 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
 

Mais de 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
 

Mais de 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
 

Último

Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
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
 
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
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
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
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 

Último (20)

Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
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
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
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
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 

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