SlideShare une entreprise Scribd logo
1  sur  34
Télécharger pour lire hors ligne
by Mike Wilcox, May 2016
Great
Responsive-ability
Web Design
With great power, comes…
CLUB AJAX
The key to RWD…
Use Bootstrap
THE END
What is RWD?
• Ethan Marcotte coined the term responsive web design (RWD)—and defined it
to mean fluid grid/ flexible images/ media queries—in a May 2010 article in A
List Apart
• WikiPedia:
• Crafting sites to provide an optimal viewing and interaction experience — easy reading and
navigation with a minimum of resizing, panning, and scrolling—across a wide range of
devices (from desktop computer monitors to mobile phones)
• Adapts the layout using fluid, proportion-based grids, flexible images, and CSS3 media queries
What is RWD?
• Usually refers to a page displaying on a mobile device
• More specially refers to a page displaying at any size
• Technically means any size and any device
Why RWD?
• The client wants the website to work on the iPhone.
• And the iPad
• And the iPad Pro
• And the iPad Mini
• And the Galaxy Note 3
• And the Nexus 7
• And myriad other Android devices
• And watches
• And TV…
The days of “what is the
minimum screen size we are
targeting?” are over.
Browser Stats
Don’t worry about IE8. The world is IE11+ now
Mobile Browser Stats
More of a concern is the various Android browsers, using 40% of the market
Media Queries
• Are just a small part of RWD!
• RWD is primarily about fluid designs, with resizable containers
• Media Queries come into play when the design needs to be restructured
More on Media Queries later…
Unobtrusive JavaScript
A consideration for web apps
• Separation of functionality (behavior) from the presentation
• Best practices such as scalability
• Progressive enhancement for user agents that may not support advanced
functionality
https://en.wikipedia.org/wiki/Unobtrusive_JavaScript
Progressive Enhancement
A consideration for web sites
• Basic content should be accessible to all web browsers
• Basic functionality should be accessible to all web browsers
• Sparse, semantic markup contains all content
• Enhanced layout is provided by externally linked CSS
• Enhanced behavior is provided by unobtrusive, externally linked JavaScript
• End-user web browser preferences are respected
https://en.wikipedia.org/wiki/Progressive_enhancement
Feature Detection
• An important aspect of Unobtrusive JavaScript
• Detecting browsers is bad:
• Best practice is to test for the feature:
if ( document.designMode ){
document.designMode = 'on';
}else{
document.body.contentEditable = 'true';
}
if ( navigator.userAgent.indexOf(‘MSIE’) > -1 ) { … }
Sniffing to determine if a
mobile device is
acceptable is some
circumstances
Server Considerations
• Display device-dependent content
• Render different HTML and CSS
• Minimize network requests
JS Frameworks
• Some more mobile friendly than others
• Jeff Atwood complains about poor Ember perf for Discourse
• Isomorphic/Universal Apps using server side rendering
• Virtual DOM can sometimes be effective
• But is by no means a silver bullet
• On demand loading
Mobile First
• Consider the design of mobile and desktop at the same time
• Don’t retrofit mobile
• In-betweens (tablets, small browser windows) can be done as you go
• UI elements (drop downs, modals) will need to work in both
• JavaScript architecture should be lean
• Start with minimal code, and on demand, add features
• Load a second style sheet only if desktop
• Test: browser resizing, emulator, then actual device
Meta Tags
• At the minimum, the following tags should be used in the HTML page:
• width=device-width
• to match the screen's width in device-independent pixels.
• initial-scale=1
• to establish a 1:1 relationship between CSS pixels and device-independent
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="format-detection" content="telephone=no">
<meta name="apple-mobile-web-app-capable" content="yes">
Images
• Images
• Seriously, NO IMAGES!
• Images don’t scale
• Say goodbye to your image sprites
• Instead, use font icons or SVG
• SVG can be styled
Images
• Obviously websites use images… as in pictures… and web apps may use
them for a splash screen
• Use the <picture> element
http://www.html5rocks.com/en/tutorials/responsive/picture-element/
REM & EM
• px is a fixed width
• em is relative to its container size
• body{ font:10px} / body div{ font:0.5em} [5px] / body div div{ font:0.5em} [2.5px]
• rem is relative to root size
• body{ font:10px} / body div{ font:0.5em} [5px] / body div div{ font:0.5em} [5px]
• Use px for dimensions and borders
• Use a combination of em and rem for text, borders, and margins
• em works best for media queries
• Test all browsers - Safari is buggy
http://zellwk.com/blog/media-query-units/
block vs inline vs inline-block
• inline has no dimensions. It takes the size of its contained text
• width, height, margin has no affect
• padding works since it is part of the contained text
• inline-block allows for dimensions
• By default, is the size of contained text
• block allows for dimensions
• Creates a new line (don’t use <br>!!)
• Cannot be a child of a <p>
• By default, width is “auto”, sized to its container
• “auto” !== 100%
float vs inline-block
• inline-block
• supports vertical-align
• Suffers from white space issues
• float
• Designed to support magazine style layouts where text floats around the image
• clear-fix is unintuitive (tip: use overflow:auto)
• Causes unwanted bugs or unpredictable side effects
https://www.w3.org/wiki/Floats_and_clearing
Floats
flex-box
• The flexbox layout is direction-agnostic as opposed to the regular layouts: block
which is vertically-based and inline which is horizontally-based.
• Provides flexibility when it comes to orientation changing, resizing, stretching,
shrinking, etc.
• Not intuitive, and difficult to learn (but is worth the effort)
.container{
display: flex;
flex-flow: row wrap;
}
.item {
flex: 1 1 auto;
}
CSS Grid Layout (NA)
• The solution to layouts
• Works well with flex box
• The spec is still be worked on
.container{
grid-template-columns: 40px 50px auto 50px 40px;
grid-template-rows: 25% 100px auto;
}
https://css-tricks.com/snippets/css/complete-guide-grid/
Media Queries
Media Queries
• The first public working draft published in 2001
• Became a W3C Recommendation in 2012 after browsers added support
• Essentially true/false expressions
• Simply defined: DEVICE : EXPRESSION
• min-width:500px will apply to >=500px
• Typically, use min-width for mobile-first, max-width for desktop-first
@media screen and (min-width:500px) { background: red; }
@media screen and (max-width:500px) { background: blue; }
Media Queries
@media screen and (min-width:500px) { background: red; }
@media print and (max-width:500px) { background: transparent; }
<link rel="stylesheet" media="print" />
<link rel="stylesheet" media="screen" />
// roughly targets mobile:
<link rel="stylesheet" media="screen and (max-device-width: 799px)" />
Usage
• They can be used to target styles or stylesheets
Media Queries
And

@media (min-width: 600px) and (max-width: 800px) { body { background: red; } }
Or

@media (max-width: 600px), (min-width: 800px) { body { background: red; } }
Not

@media not all and (max-width: 600px) { body { background: red; } }
Operators
Media Queries
@media screen and (min-width:500px) { background: red; }
Devices
• braille
• embossed
• handheld
• print
• projection
• screen
• speech
• tty
• tv
You’ll pretty much only ever
use screen.
handheld isn’t what you think
it is. There is no device type
for mobile.
Media Queries
/* Smartphones (portrait and landscape) -- -- -- -- -- - */

@media only screen

and (min-device-width : 320px) 

and (max-device-width : 480px) { 

/* Styles */



} 



/* Smartphones (landscape) -- -- -- -- -- - */

@media only screen

and (min-width : 321px) { 

/* Styles */



} 



/* Smartphones (portrait) -- -- -- -- -- - */

@media only screen

and (max-width : 320px) { 

/* Styles */



} 



/* iPads (portrait and landscape) -- -- -- -- -- - */

@media only screen

and (min-device-width : 768px) 

and (max-device-width : 1024px) { 

/* Styles */



} 



Targeting Mobile
/* iPads (landscape) -- -- -- -- -- - */

@media only screen

and (min-device-width : 768px) 

and (max-device-width : 1024px) 

and (orientation : landscape) { 

/* Styles */



} 

/* iPads (portrait) -- -- -- -- -- - */

@media only screen

and (min-device-width : 768px) 

and (max-device-width : 1024px) 

and (orientation : portrait) { 

/* Styles */



}

/* Desktops and laptops -- -- -- -- -- - */

@media only screen

and (min-width : 1224px) { 

/* Styles */



} 



/* Large screens -- -- -- -- -- - */

@media only screen

and (min-width : 1824px) { 

/* Styles */



}
Don’t do this nonsense!!
Media Queries
Targeting Mobile
@media screen and (max-device-width: 773px) and (max-device-height: 435px) {
body { background: red; }
}
• The design should be responsive, not specific
• Don’t rely on min-resolution: 2dppx - this targets Macs with Retina Display
• Don’t rely on @media handheld, this is for older, flip-style (etc) phones
These dimensions target the
largest Android device
Media Queries
Targeting Mobile and Tablets, and desktop
// mobile
@media
screen and (max-device-width: 773px) and (max-device-height: 435px),
screen and (max-device-width: 435px) and (max-device-height: 773px),
screen and (max-width: 773px) {
body { background: red; }
}
//tablet
@media
screen and (max-device-width: 768px) and (max-device-height: 1024px),
screen and (max-device-width: 1024px) and (max-device-height: 768px),
screen and (max-width: 768px) {
body { background: red; }
}
These dimensions target the
largest devices and desktop
Media Queries
JavaScript
function onMediaChange(e){
var
mq = e.srcElement;
if(mq.matches){
node.innerHTML = 'Matches: ' + mq.media;
}else{
node.innerHTML = 'Matches no media queries';
}
}
var mq = window.matchMedia('(min-width: 600px)');
mq.addListener(onMediaChange);
• Much better than listening to window.onresize
• Use for conditionally launching desktop-only widgets or ads
DEMOS
CLUB AJAX

Contenu connexe

Tendances

Using Web Standards to create Interactive Data Visualizations for the Web
Using Web Standards to create Interactive Data Visualizations for the WebUsing Web Standards to create Interactive Data Visualizations for the Web
Using Web Standards to create Interactive Data Visualizations for the Webphilogb
 
[2015/2016] Require JS and Handlebars JS
[2015/2016] Require JS and Handlebars JS[2015/2016] Require JS and Handlebars JS
[2015/2016] Require JS and Handlebars JSIvano Malavolta
 
Introduction to Web Components
Introduction to Web ComponentsIntroduction to Web Components
Introduction to Web ComponentsRich Bradshaw
 
Thinking in Components
Thinking in ComponentsThinking in Components
Thinking in ComponentsFITC
 
HTML5, just another presentation :)
HTML5, just another presentation :)HTML5, just another presentation :)
HTML5, just another presentation :)François Massart
 
Accessibility - A feature you can build
Accessibility - A feature you can buildAccessibility - A feature you can build
Accessibility - A feature you can buildMonika Piotrowicz
 
SPSNH 2014 - The SharePoint & jQueryGuide
SPSNH 2014 - The SharePoint & jQueryGuideSPSNH 2014 - The SharePoint & jQueryGuide
SPSNH 2014 - The SharePoint & jQueryGuideMark Rackley
 
JsViews - Next Generation jQuery Templates
JsViews - Next Generation jQuery TemplatesJsViews - Next Generation jQuery Templates
JsViews - Next Generation jQuery TemplatesBorisMoore
 
Introduction to Client Side Dev in SharePoint Workshop
Introduction to Client Side Dev in SharePoint WorkshopIntroduction to Client Side Dev in SharePoint Workshop
Introduction to Client Side Dev in SharePoint WorkshopMark Rackley
 
HTML5 and the dawn of rich mobile web applications pt 1
HTML5 and the dawn of rich mobile web applications pt 1HTML5 and the dawn of rich mobile web applications pt 1
HTML5 and the dawn of rich mobile web applications pt 1James Pearce
 
The Art of AngularJS in 2015 - Angular Summit 2015
The Art of AngularJS in 2015 - Angular Summit 2015The Art of AngularJS in 2015 - Angular Summit 2015
The Art of AngularJS in 2015 - Angular Summit 2015Matt Raible
 
jQuery Comes to XPages
jQuery Comes to XPagesjQuery Comes to XPages
jQuery Comes to XPagesTeamstudio
 
HTML CSS JavaScript jQuery Training
HTML CSS JavaScript jQuery TrainingHTML CSS JavaScript jQuery Training
HTML CSS JavaScript jQuery Trainingubshreenath
 
SPSDenver - SharePoint & jQuery - What I wish I would have known
SPSDenver - SharePoint & jQuery - What I wish I would have knownSPSDenver - SharePoint & jQuery - What I wish I would have known
SPSDenver - SharePoint & jQuery - What I wish I would have knownMark Rackley
 
[2015/2016] HTML5 and CSS3 Refresher
[2015/2016] HTML5 and CSS3 Refresher[2015/2016] HTML5 and CSS3 Refresher
[2015/2016] HTML5 and CSS3 RefresherIvano Malavolta
 
Improving the Responsive Web Design Process in 2016
Improving the Responsive Web Design Process in 2016Improving the Responsive Web Design Process in 2016
Improving the Responsive Web Design Process in 2016Cristina Chumillas
 
2/15/2012 - Wrapping Your Head Around the SharePoint Beast
2/15/2012 - Wrapping Your Head Around the SharePoint Beast2/15/2012 - Wrapping Your Head Around the SharePoint Beast
2/15/2012 - Wrapping Your Head Around the SharePoint BeastMark Rackley
 

Tendances (20)

Using Web Standards to create Interactive Data Visualizations for the Web
Using Web Standards to create Interactive Data Visualizations for the WebUsing Web Standards to create Interactive Data Visualizations for the Web
Using Web Standards to create Interactive Data Visualizations for the Web
 
Apache Cordova 4.x
Apache Cordova 4.xApache Cordova 4.x
Apache Cordova 4.x
 
[2015/2016] Require JS and Handlebars JS
[2015/2016] Require JS and Handlebars JS[2015/2016] Require JS and Handlebars JS
[2015/2016] Require JS and Handlebars JS
 
Introduction to Web Components
Introduction to Web ComponentsIntroduction to Web Components
Introduction to Web Components
 
Thinking in Components
Thinking in ComponentsThinking in Components
Thinking in Components
 
HTML5, just another presentation :)
HTML5, just another presentation :)HTML5, just another presentation :)
HTML5, just another presentation :)
 
Accessibility - A feature you can build
Accessibility - A feature you can buildAccessibility - A feature you can build
Accessibility - A feature you can build
 
SPSNH 2014 - The SharePoint & jQueryGuide
SPSNH 2014 - The SharePoint & jQueryGuideSPSNH 2014 - The SharePoint & jQueryGuide
SPSNH 2014 - The SharePoint & jQueryGuide
 
What is jQuery?
What is jQuery?What is jQuery?
What is jQuery?
 
JsViews - Next Generation jQuery Templates
JsViews - Next Generation jQuery TemplatesJsViews - Next Generation jQuery Templates
JsViews - Next Generation jQuery Templates
 
Introduction to Client Side Dev in SharePoint Workshop
Introduction to Client Side Dev in SharePoint WorkshopIntroduction to Client Side Dev in SharePoint Workshop
Introduction to Client Side Dev in SharePoint Workshop
 
HTML5 and the dawn of rich mobile web applications pt 1
HTML5 and the dawn of rich mobile web applications pt 1HTML5 and the dawn of rich mobile web applications pt 1
HTML5 and the dawn of rich mobile web applications pt 1
 
The Art of AngularJS in 2015 - Angular Summit 2015
The Art of AngularJS in 2015 - Angular Summit 2015The Art of AngularJS in 2015 - Angular Summit 2015
The Art of AngularJS in 2015 - Angular Summit 2015
 
jQuery Comes to XPages
jQuery Comes to XPagesjQuery Comes to XPages
jQuery Comes to XPages
 
HTML CSS JavaScript jQuery Training
HTML CSS JavaScript jQuery TrainingHTML CSS JavaScript jQuery Training
HTML CSS JavaScript jQuery Training
 
Challenges going mobile
Challenges going mobileChallenges going mobile
Challenges going mobile
 
SPSDenver - SharePoint & jQuery - What I wish I would have known
SPSDenver - SharePoint & jQuery - What I wish I would have knownSPSDenver - SharePoint & jQuery - What I wish I would have known
SPSDenver - SharePoint & jQuery - What I wish I would have known
 
[2015/2016] HTML5 and CSS3 Refresher
[2015/2016] HTML5 and CSS3 Refresher[2015/2016] HTML5 and CSS3 Refresher
[2015/2016] HTML5 and CSS3 Refresher
 
Improving the Responsive Web Design Process in 2016
Improving the Responsive Web Design Process in 2016Improving the Responsive Web Design Process in 2016
Improving the Responsive Web Design Process in 2016
 
2/15/2012 - Wrapping Your Head Around the SharePoint Beast
2/15/2012 - Wrapping Your Head Around the SharePoint Beast2/15/2012 - Wrapping Your Head Around the SharePoint Beast
2/15/2012 - Wrapping Your Head Around the SharePoint Beast
 

En vedette

Cuando Quiero Dibujar Puedo
Cuando Quiero Dibujar PuedoCuando Quiero Dibujar Puedo
Cuando Quiero Dibujar PuedoTatica Leandro
 
Ceddet el fenómeno de la falsificación v2 (1)
Ceddet el fenómeno de la falsificación v2 (1)Ceddet el fenómeno de la falsificación v2 (1)
Ceddet el fenómeno de la falsificación v2 (1)Fundación CEDDET
 
CancióN De Boda
CancióN De BodaCancióN De Boda
CancióN De BodaFrida Bibi
 
OSGi Community Event 2010 - Enterprise OSGi in WebSphere and Apache Aries
OSGi Community Event 2010 - Enterprise OSGi in WebSphere and Apache AriesOSGi Community Event 2010 - Enterprise OSGi in WebSphere and Apache Aries
OSGi Community Event 2010 - Enterprise OSGi in WebSphere and Apache Ariesmfrancis
 
Ingenieria industrial nixon zarate
Ingenieria industrial nixon zarateIngenieria industrial nixon zarate
Ingenieria industrial nixon zaratenixon13zarate
 
Tripes_CV_eng_20160217
Tripes_CV_eng_20160217Tripes_CV_eng_20160217
Tripes_CV_eng_20160217Michal Tripes
 
Cheil Hangarsession: Media Monks - Crafted with care and coded with coffee
Cheil Hangarsession: Media Monks - Crafted with care and coded with coffeeCheil Hangarsession: Media Monks - Crafted with care and coded with coffee
Cheil Hangarsession: Media Monks - Crafted with care and coded with coffeeCheil UK
 
AvailabilityGuard™ de Continuity Software
AvailabilityGuard™ de Continuity SoftwareAvailabilityGuard™ de Continuity Software
AvailabilityGuard™ de Continuity SoftwareSIA Group
 
Bebidas funcionales, Aloe Vera Drink, BIO
Bebidas funcionales, Aloe Vera Drink, BIOBebidas funcionales, Aloe Vera Drink, BIO
Bebidas funcionales, Aloe Vera Drink, BIOPFN
 
Jerarquia de proxys sibling ing freddy alfonso beltran
Jerarquia de proxys sibling ing freddy alfonso beltranJerarquia de proxys sibling ing freddy alfonso beltran
Jerarquia de proxys sibling ing freddy alfonso beltranbeppo
 
8826869222 Jaipur Tourism City Appu Ghar Shops Villas
8826869222 Jaipur Tourism City Appu Ghar Shops Villas8826869222 Jaipur Tourism City Appu Ghar Shops Villas
8826869222 Jaipur Tourism City Appu Ghar Shops Villassarveshnassa11
 
Exp redesiids lv2_06
Exp redesiids lv2_06Exp redesiids lv2_06
Exp redesiids lv2_06Carlos Gomez
 
San martin de porres
San martin de porresSan martin de porres
San martin de porresYefry Paredes
 
Measuring IPv6 ISP performance
Measuring IPv6 ISP performanceMeasuring IPv6 ISP performance
Measuring IPv6 ISP performanceAPNIC
 
Como crear slideshare en tu teléfono móvil
Como crear slideshare en tu teléfono móvilComo crear slideshare en tu teléfono móvil
Como crear slideshare en tu teléfono móvilLaura Nagles
 

En vedette (20)

Cuando Quiero Dibujar Puedo
Cuando Quiero Dibujar PuedoCuando Quiero Dibujar Puedo
Cuando Quiero Dibujar Puedo
 
Ceddet el fenómeno de la falsificación v2 (1)
Ceddet el fenómeno de la falsificación v2 (1)Ceddet el fenómeno de la falsificación v2 (1)
Ceddet el fenómeno de la falsificación v2 (1)
 
Apt pics ppt1
Apt pics   ppt1Apt pics   ppt1
Apt pics ppt1
 
CancióN De Boda
CancióN De BodaCancióN De Boda
CancióN De Boda
 
OSGi Community Event 2010 - Enterprise OSGi in WebSphere and Apache Aries
OSGi Community Event 2010 - Enterprise OSGi in WebSphere and Apache AriesOSGi Community Event 2010 - Enterprise OSGi in WebSphere and Apache Aries
OSGi Community Event 2010 - Enterprise OSGi in WebSphere and Apache Aries
 
Ingenieria industrial nixon zarate
Ingenieria industrial nixon zarateIngenieria industrial nixon zarate
Ingenieria industrial nixon zarate
 
Tripes_CV_eng_20160217
Tripes_CV_eng_20160217Tripes_CV_eng_20160217
Tripes_CV_eng_20160217
 
Cheil Hangarsession: Media Monks - Crafted with care and coded with coffee
Cheil Hangarsession: Media Monks - Crafted with care and coded with coffeeCheil Hangarsession: Media Monks - Crafted with care and coded with coffee
Cheil Hangarsession: Media Monks - Crafted with care and coded with coffee
 
AvailabilityGuard™ de Continuity Software
AvailabilityGuard™ de Continuity SoftwareAvailabilityGuard™ de Continuity Software
AvailabilityGuard™ de Continuity Software
 
CDU Fokus Aprile 2015
CDU Fokus Aprile 2015CDU Fokus Aprile 2015
CDU Fokus Aprile 2015
 
Poesía de la experiencia: dos generaciones
Poesía de la experiencia: dos generacionesPoesía de la experiencia: dos generaciones
Poesía de la experiencia: dos generaciones
 
4 wd
4 wd4 wd
4 wd
 
Bebidas funcionales, Aloe Vera Drink, BIO
Bebidas funcionales, Aloe Vera Drink, BIOBebidas funcionales, Aloe Vera Drink, BIO
Bebidas funcionales, Aloe Vera Drink, BIO
 
Jerarquia de proxys sibling ing freddy alfonso beltran
Jerarquia de proxys sibling ing freddy alfonso beltranJerarquia de proxys sibling ing freddy alfonso beltran
Jerarquia de proxys sibling ing freddy alfonso beltran
 
8826869222 Jaipur Tourism City Appu Ghar Shops Villas
8826869222 Jaipur Tourism City Appu Ghar Shops Villas8826869222 Jaipur Tourism City Appu Ghar Shops Villas
8826869222 Jaipur Tourism City Appu Ghar Shops Villas
 
Exp redesiids lv2_06
Exp redesiids lv2_06Exp redesiids lv2_06
Exp redesiids lv2_06
 
San martin de porres
San martin de porresSan martin de porres
San martin de porres
 
Measuring IPv6 ISP performance
Measuring IPv6 ISP performanceMeasuring IPv6 ISP performance
Measuring IPv6 ISP performance
 
Como crear slideshare en tu teléfono móvil
Como crear slideshare en tu teléfono móvilComo crear slideshare en tu teléfono móvil
Como crear slideshare en tu teléfono móvil
 
Google web designer
Google web designerGoogle web designer
Google web designer
 

Similaire à Great Responsive-ability Web Design

Responsive web design
Responsive web designResponsive web design
Responsive web designBen MacNeill
 
The Mobile Development Landscape
The Mobile Development LandscapeThe Mobile Development Landscape
The Mobile Development LandscapeAmbert Ho
 
Advancio, Inc. Academy: Responsive Web Design
Advancio, Inc. Academy: Responsive Web DesignAdvancio, Inc. Academy: Responsive Web Design
Advancio, Inc. Academy: Responsive Web DesignAdvancio
 
Mobile Best Practices
Mobile Best PracticesMobile Best Practices
Mobile Best Practicesmintersam
 
CSS3, Media Queries, and Responsive Design
CSS3, Media Queries, and Responsive DesignCSS3, Media Queries, and Responsive Design
CSS3, Media Queries, and Responsive DesignZoe Gillenwater
 
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
 
Web development basics (Part-2)
Web development basics (Part-2)Web development basics (Part-2)
Web development basics (Part-2)Rajat Pratap Singh
 
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
 
Responsive Web Design & APEX Theme 25
Responsive Web Design & APEX Theme 25Responsive Web Design & APEX Theme 25
Responsive Web Design & APEX Theme 25Christian Rokitta
 
CSS3: Simply Responsive
CSS3: Simply ResponsiveCSS3: Simply Responsive
CSS3: Simply ResponsiveDenise Jacobs
 
Node.js 101
 Node.js 101 Node.js 101
Node.js 101FITC
 
Responsive Web Design & APEX Theme 25 (OGh APEX World 2014)
Responsive Web Design & APEX Theme 25 (OGh APEX World 2014)Responsive Web Design & APEX Theme 25 (OGh APEX World 2014)
Responsive Web Design & APEX Theme 25 (OGh APEX World 2014)Christian Rokitta
 
Responsive Web Design - Devoxx UK - 2014-06-13
Responsive Web Design - Devoxx UK - 2014-06-13Responsive Web Design - Devoxx UK - 2014-06-13
Responsive Web Design - Devoxx UK - 2014-06-13Frédéric Harper
 
SEF 2014 - Responsive Design in SharePoint 2013
SEF 2014 - Responsive Design in SharePoint 2013SEF 2014 - Responsive Design in SharePoint 2013
SEF 2014 - Responsive Design in SharePoint 2013Marc D Anderson
 
Responsive Web Design
Responsive Web DesignResponsive Web Design
Responsive Web DesignDebra Shapiro
 
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 Design - Web & PHP Conference - 2013-09-18
Responsive Web Design - Web & PHP Conference - 2013-09-18Responsive Web Design - Web & PHP Conference - 2013-09-18
Responsive Web Design - Web & PHP Conference - 2013-09-18Frédéric Harper
 
FITC - Bootstrap Unleashed
FITC - Bootstrap UnleashedFITC - Bootstrap Unleashed
FITC - Bootstrap UnleashedRami Sayar
 
Building Responsive Websites with Drupal
Building Responsive Websites with DrupalBuilding Responsive Websites with Drupal
Building Responsive Websites with DrupalSuzanne Dergacheva
 

Similaire à Great Responsive-ability Web Design (20)

Responsive web design
Responsive web designResponsive web design
Responsive web design
 
The Mobile Development Landscape
The Mobile Development LandscapeThe Mobile Development Landscape
The Mobile Development Landscape
 
Advancio, Inc. Academy: Responsive Web Design
Advancio, Inc. Academy: Responsive Web DesignAdvancio, Inc. Academy: Responsive Web Design
Advancio, Inc. Academy: Responsive Web Design
 
Mobile Best Practices
Mobile Best PracticesMobile Best Practices
Mobile Best Practices
 
CSS3, Media Queries, and Responsive Design
CSS3, Media Queries, and Responsive DesignCSS3, Media Queries, and Responsive Design
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 experience
 
Web development basics (Part-2)
Web development basics (Part-2)Web development basics (Part-2)
Web development basics (Part-2)
 
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
 
Responsive Web Design & APEX Theme 25
Responsive Web Design & APEX Theme 25Responsive Web Design & APEX Theme 25
Responsive Web Design & APEX Theme 25
 
CSS3: Simply Responsive
CSS3: Simply ResponsiveCSS3: Simply Responsive
CSS3: Simply Responsive
 
Approaches to Responsive Wen Design & Development
Approaches to Responsive Wen Design & DevelopmentApproaches to Responsive Wen Design & Development
Approaches to Responsive Wen Design & Development
 
Node.js 101
 Node.js 101 Node.js 101
Node.js 101
 
Responsive Web Design & APEX Theme 25 (OGh APEX World 2014)
Responsive Web Design & APEX Theme 25 (OGh APEX World 2014)Responsive Web Design & APEX Theme 25 (OGh APEX World 2014)
Responsive Web Design & APEX Theme 25 (OGh APEX World 2014)
 
Responsive Web Design - Devoxx UK - 2014-06-13
Responsive Web Design - Devoxx UK - 2014-06-13Responsive Web Design - Devoxx UK - 2014-06-13
Responsive Web Design - Devoxx UK - 2014-06-13
 
SEF 2014 - Responsive Design in SharePoint 2013
SEF 2014 - Responsive Design in SharePoint 2013SEF 2014 - Responsive Design in SharePoint 2013
SEF 2014 - Responsive Design in SharePoint 2013
 
Responsive Web Design
Responsive Web DesignResponsive Web Design
Responsive Web Design
 
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 Design - Web & PHP Conference - 2013-09-18
Responsive Web Design - Web & PHP Conference - 2013-09-18Responsive Web Design - Web & PHP Conference - 2013-09-18
Responsive Web Design - Web & PHP Conference - 2013-09-18
 
FITC - Bootstrap Unleashed
FITC - Bootstrap UnleashedFITC - Bootstrap Unleashed
FITC - Bootstrap Unleashed
 
Building Responsive Websites with Drupal
Building Responsive Websites with DrupalBuilding Responsive Websites with Drupal
Building Responsive Websites with Drupal
 

Plus de Mike Wilcox

Accessibility for Fun and Profit
Accessibility for Fun and ProfitAccessibility for Fun and Profit
Accessibility for Fun and ProfitMike Wilcox
 
Webpack: What it is, What it does, Whether you need it
Webpack: What it is, What it does, Whether you need itWebpack: What it is, What it does, Whether you need it
Webpack: What it is, What it does, Whether you need itMike Wilcox
 
Professional JavaScript: AntiPatterns
Professional JavaScript: AntiPatternsProfessional JavaScript: AntiPatterns
Professional JavaScript: AntiPatternsMike Wilcox
 
Model View Madness
Model View MadnessModel View Madness
Model View MadnessMike Wilcox
 
Hardcore JavaScript – Write it Right
Hardcore JavaScript – Write it RightHardcore JavaScript – Write it Right
Hardcore JavaScript – Write it RightMike Wilcox
 
The Great Semicolon Debate
The Great Semicolon DebateThe Great Semicolon Debate
The Great Semicolon DebateMike Wilcox
 
AMD - Why, What and How
AMD - Why, What and HowAMD - Why, What and How
AMD - Why, What and HowMike Wilcox
 
Webpage Design Basics for Non-Designers
Webpage Design Basics for Non-DesignersWebpage Design Basics for Non-Designers
Webpage Design Basics for Non-DesignersMike Wilcox
 
Why You Need a Front End Developer
Why You Need a Front End DeveloperWhy You Need a Front End Developer
Why You Need a Front End DeveloperMike Wilcox
 
A Conversation About REST
A Conversation About RESTA Conversation About REST
A Conversation About RESTMike Wilcox
 
The Fight Over HTML5
The Fight Over HTML5The Fight Over HTML5
The Fight Over HTML5Mike Wilcox
 
The Fight Over HTML5
The Fight Over HTML5The Fight Over HTML5
The Fight Over HTML5Mike Wilcox
 
How to get a Job as a Front End Developer
How to get a Job as a Front End DeveloperHow to get a Job as a Front End Developer
How to get a Job as a Front End DeveloperMike Wilcox
 
The History of HTML5
The History of HTML5The History of HTML5
The History of HTML5Mike Wilcox
 
Thats Not Flash?
Thats Not Flash?Thats Not Flash?
Thats Not Flash?Mike Wilcox
 

Plus de Mike Wilcox (20)

Accessibility for Fun and Profit
Accessibility for Fun and ProfitAccessibility for Fun and Profit
Accessibility for Fun and Profit
 
WTF R PWAs?
WTF R PWAs?WTF R PWAs?
WTF R PWAs?
 
Advanced React
Advanced ReactAdvanced React
Advanced React
 
Webpack: What it is, What it does, Whether you need it
Webpack: What it is, What it does, Whether you need itWebpack: What it is, What it does, Whether you need it
Webpack: What it is, What it does, Whether you need it
 
Dangerous CSS
Dangerous CSSDangerous CSS
Dangerous CSS
 
Professional JavaScript: AntiPatterns
Professional JavaScript: AntiPatternsProfessional JavaScript: AntiPatterns
Professional JavaScript: AntiPatterns
 
Model View Madness
Model View MadnessModel View Madness
Model View Madness
 
Hardcore JavaScript – Write it Right
Hardcore JavaScript – Write it RightHardcore JavaScript – Write it Right
Hardcore JavaScript – Write it Right
 
The Great Semicolon Debate
The Great Semicolon DebateThe Great Semicolon Debate
The Great Semicolon Debate
 
AMD - Why, What and How
AMD - Why, What and HowAMD - Why, What and How
AMD - Why, What and How
 
Dojo & HTML5
Dojo & HTML5Dojo & HTML5
Dojo & HTML5
 
Webpage Design Basics for Non-Designers
Webpage Design Basics for Non-DesignersWebpage Design Basics for Non-Designers
Webpage Design Basics for Non-Designers
 
Why You Need a Front End Developer
Why You Need a Front End DeveloperWhy You Need a Front End Developer
Why You Need a Front End Developer
 
A Conversation About REST
A Conversation About RESTA Conversation About REST
A Conversation About REST
 
The Fight Over HTML5
The Fight Over HTML5The Fight Over HTML5
The Fight Over HTML5
 
The Fight Over HTML5
The Fight Over HTML5The Fight Over HTML5
The Fight Over HTML5
 
How to get a Job as a Front End Developer
How to get a Job as a Front End DeveloperHow to get a Job as a Front End Developer
How to get a Job as a Front End Developer
 
The History of HTML5
The History of HTML5The History of HTML5
The History of HTML5
 
Thats Not Flash?
Thats Not Flash?Thats Not Flash?
Thats Not Flash?
 
Flash And Dom
Flash And DomFlash And Dom
Flash And Dom
 

Dernier

WhatsApp 📞 8448380779 ✅Call Girls In Mamura Sector 66 ( Noida)
WhatsApp 📞 8448380779 ✅Call Girls In Mamura Sector 66 ( Noida)WhatsApp 📞 8448380779 ✅Call Girls In Mamura Sector 66 ( Noida)
WhatsApp 📞 8448380779 ✅Call Girls In Mamura Sector 66 ( Noida)Delhi Call girls
 
Hire↠Young Call Girls in Tilak nagar (Delhi) ☎️ 9205541914 ☎️ Independent Esc...
Hire↠Young Call Girls in Tilak nagar (Delhi) ☎️ 9205541914 ☎️ Independent Esc...Hire↠Young Call Girls in Tilak nagar (Delhi) ☎️ 9205541914 ☎️ Independent Esc...
Hire↠Young Call Girls in Tilak nagar (Delhi) ☎️ 9205541914 ☎️ Independent Esc...Delhi Call girls
 
VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting High Prof...
VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting  High Prof...VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting  High Prof...
VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting High Prof...singhpriety023
 
All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445
All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445
All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445ruhi
 
VIP Call Girls Pollachi 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Pollachi 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Pollachi 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Pollachi 7001035870 Whatsapp Number, 24/07 Bookingdharasingh5698
 
Top Rated Pune Call Girls Daund ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...
Top Rated  Pune Call Girls Daund ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...Top Rated  Pune Call Girls Daund ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...
Top Rated Pune Call Girls Daund ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...Call Girls in Nagpur High Profile
 
Real Men Wear Diapers T Shirts sweatshirt
Real Men Wear Diapers T Shirts sweatshirtReal Men Wear Diapers T Shirts sweatshirt
Real Men Wear Diapers T Shirts sweatshirtrahman018755
 
Sarola * Female Escorts Service in Pune | 8005736733 Independent Escorts & Da...
Sarola * Female Escorts Service in Pune | 8005736733 Independent Escorts & Da...Sarola * Female Escorts Service in Pune | 8005736733 Independent Escorts & Da...
Sarola * Female Escorts Service in Pune | 8005736733 Independent Escorts & Da...SUHANI PANDEY
 
Lucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRL
Lucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRLLucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRL
Lucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRLimonikaupta
 
APNIC Updates presented by Paul Wilson at ARIN 53
APNIC Updates presented by Paul Wilson at ARIN 53APNIC Updates presented by Paul Wilson at ARIN 53
APNIC Updates presented by Paul Wilson at ARIN 53APNIC
 
Busty Desi⚡Call Girls in Vasundhara Ghaziabad >༒8448380779 Escort Service
Busty Desi⚡Call Girls in Vasundhara Ghaziabad >༒8448380779 Escort ServiceBusty Desi⚡Call Girls in Vasundhara Ghaziabad >༒8448380779 Escort Service
Busty Desi⚡Call Girls in Vasundhara Ghaziabad >༒8448380779 Escort ServiceDelhi Call girls
 
VVIP Pune Call Girls Sinhagad WhatSapp Number 8005736733 With Elite Staff And...
VVIP Pune Call Girls Sinhagad WhatSapp Number 8005736733 With Elite Staff And...VVIP Pune Call Girls Sinhagad WhatSapp Number 8005736733 With Elite Staff And...
VVIP Pune Call Girls Sinhagad WhatSapp Number 8005736733 With Elite Staff And...SUHANI PANDEY
 
Dubai Call Girls Milky O525547819 Call Girls Dubai Soft Dating
Dubai Call Girls Milky O525547819 Call Girls Dubai Soft DatingDubai Call Girls Milky O525547819 Call Girls Dubai Soft Dating
Dubai Call Girls Milky O525547819 Call Girls Dubai Soft Datingkojalkojal131
 
(+971568250507 ))# Young Call Girls in Ajman By Pakistani Call Girls in ...
(+971568250507  ))#  Young Call Girls  in Ajman  By Pakistani Call Girls  in ...(+971568250507  ))#  Young Call Girls  in Ajman  By Pakistani Call Girls  in ...
(+971568250507 ))# Young Call Girls in Ajman By Pakistani Call Girls in ...Escorts Call Girls
 
Dubai=Desi Dubai Call Girls O525547819 Outdoor Call Girls Dubai
Dubai=Desi Dubai Call Girls O525547819 Outdoor Call Girls DubaiDubai=Desi Dubai Call Girls O525547819 Outdoor Call Girls Dubai
Dubai=Desi Dubai Call Girls O525547819 Outdoor Call Girls Dubaikojalkojal131
 
Call Now ☎ 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.Call Now ☎ 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.soniya singh
 
Yerawada ] Independent Escorts in Pune - Book 8005736733 Call Girls Available...
Yerawada ] Independent Escorts in Pune - Book 8005736733 Call Girls Available...Yerawada ] Independent Escorts in Pune - Book 8005736733 Call Girls Available...
Yerawada ] Independent Escorts in Pune - Book 8005736733 Call Girls Available...SUHANI PANDEY
 
Shikrapur - Call Girls in Pune Neha 8005736733 | 100% Gennuine High Class Ind...
Shikrapur - Call Girls in Pune Neha 8005736733 | 100% Gennuine High Class Ind...Shikrapur - Call Girls in Pune Neha 8005736733 | 100% Gennuine High Class Ind...
Shikrapur - Call Girls in Pune Neha 8005736733 | 100% Gennuine High Class Ind...SUHANI PANDEY
 

Dernier (20)

VVVIP Call Girls In Connaught Place ➡️ Delhi ➡️ 9999965857 🚀 No Advance 24HRS...
VVVIP Call Girls In Connaught Place ➡️ Delhi ➡️ 9999965857 🚀 No Advance 24HRS...VVVIP Call Girls In Connaught Place ➡️ Delhi ➡️ 9999965857 🚀 No Advance 24HRS...
VVVIP Call Girls In Connaught Place ➡️ Delhi ➡️ 9999965857 🚀 No Advance 24HRS...
 
WhatsApp 📞 8448380779 ✅Call Girls In Mamura Sector 66 ( Noida)
WhatsApp 📞 8448380779 ✅Call Girls In Mamura Sector 66 ( Noida)WhatsApp 📞 8448380779 ✅Call Girls In Mamura Sector 66 ( Noida)
WhatsApp 📞 8448380779 ✅Call Girls In Mamura Sector 66 ( Noida)
 
Hire↠Young Call Girls in Tilak nagar (Delhi) ☎️ 9205541914 ☎️ Independent Esc...
Hire↠Young Call Girls in Tilak nagar (Delhi) ☎️ 9205541914 ☎️ Independent Esc...Hire↠Young Call Girls in Tilak nagar (Delhi) ☎️ 9205541914 ☎️ Independent Esc...
Hire↠Young Call Girls in Tilak nagar (Delhi) ☎️ 9205541914 ☎️ Independent Esc...
 
VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting High Prof...
VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting  High Prof...VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting  High Prof...
VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting High Prof...
 
All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445
All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445
All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445
 
VIP Call Girls Pollachi 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Pollachi 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Pollachi 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Pollachi 7001035870 Whatsapp Number, 24/07 Booking
 
Top Rated Pune Call Girls Daund ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...
Top Rated  Pune Call Girls Daund ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...Top Rated  Pune Call Girls Daund ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...
Top Rated Pune Call Girls Daund ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...
 
Real Men Wear Diapers T Shirts sweatshirt
Real Men Wear Diapers T Shirts sweatshirtReal Men Wear Diapers T Shirts sweatshirt
Real Men Wear Diapers T Shirts sweatshirt
 
Sarola * Female Escorts Service in Pune | 8005736733 Independent Escorts & Da...
Sarola * Female Escorts Service in Pune | 8005736733 Independent Escorts & Da...Sarola * Female Escorts Service in Pune | 8005736733 Independent Escorts & Da...
Sarola * Female Escorts Service in Pune | 8005736733 Independent Escorts & Da...
 
Lucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRL
Lucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRLLucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRL
Lucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRL
 
APNIC Updates presented by Paul Wilson at ARIN 53
APNIC Updates presented by Paul Wilson at ARIN 53APNIC Updates presented by Paul Wilson at ARIN 53
APNIC Updates presented by Paul Wilson at ARIN 53
 
Busty Desi⚡Call Girls in Vasundhara Ghaziabad >༒8448380779 Escort Service
Busty Desi⚡Call Girls in Vasundhara Ghaziabad >༒8448380779 Escort ServiceBusty Desi⚡Call Girls in Vasundhara Ghaziabad >༒8448380779 Escort Service
Busty Desi⚡Call Girls in Vasundhara Ghaziabad >༒8448380779 Escort Service
 
VVIP Pune Call Girls Sinhagad WhatSapp Number 8005736733 With Elite Staff And...
VVIP Pune Call Girls Sinhagad WhatSapp Number 8005736733 With Elite Staff And...VVIP Pune Call Girls Sinhagad WhatSapp Number 8005736733 With Elite Staff And...
VVIP Pune Call Girls Sinhagad WhatSapp Number 8005736733 With Elite Staff And...
 
Dubai Call Girls Milky O525547819 Call Girls Dubai Soft Dating
Dubai Call Girls Milky O525547819 Call Girls Dubai Soft DatingDubai Call Girls Milky O525547819 Call Girls Dubai Soft Dating
Dubai Call Girls Milky O525547819 Call Girls Dubai Soft Dating
 
(+971568250507 ))# Young Call Girls in Ajman By Pakistani Call Girls in ...
(+971568250507  ))#  Young Call Girls  in Ajman  By Pakistani Call Girls  in ...(+971568250507  ))#  Young Call Girls  in Ajman  By Pakistani Call Girls  in ...
(+971568250507 ))# Young Call Girls in Ajman By Pakistani Call Girls in ...
 
Dubai=Desi Dubai Call Girls O525547819 Outdoor Call Girls Dubai
Dubai=Desi Dubai Call Girls O525547819 Outdoor Call Girls DubaiDubai=Desi Dubai Call Girls O525547819 Outdoor Call Girls Dubai
Dubai=Desi Dubai Call Girls O525547819 Outdoor Call Girls Dubai
 
Call Now ☎ 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.Call Now ☎ 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.
 
Yerawada ] Independent Escorts in Pune - Book 8005736733 Call Girls Available...
Yerawada ] Independent Escorts in Pune - Book 8005736733 Call Girls Available...Yerawada ] Independent Escorts in Pune - Book 8005736733 Call Girls Available...
Yerawada ] Independent Escorts in Pune - Book 8005736733 Call Girls Available...
 
Russian Call Girls in %(+971524965298 )# Call Girls in Dubai
Russian Call Girls in %(+971524965298  )#  Call Girls in DubaiRussian Call Girls in %(+971524965298  )#  Call Girls in Dubai
Russian Call Girls in %(+971524965298 )# Call Girls in Dubai
 
Shikrapur - Call Girls in Pune Neha 8005736733 | 100% Gennuine High Class Ind...
Shikrapur - Call Girls in Pune Neha 8005736733 | 100% Gennuine High Class Ind...Shikrapur - Call Girls in Pune Neha 8005736733 | 100% Gennuine High Class Ind...
Shikrapur - Call Girls in Pune Neha 8005736733 | 100% Gennuine High Class Ind...
 

Great Responsive-ability Web Design

  • 1. by Mike Wilcox, May 2016 Great Responsive-ability Web Design With great power, comes… CLUB AJAX
  • 2. The key to RWD…
  • 4. What is RWD? • Ethan Marcotte coined the term responsive web design (RWD)—and defined it to mean fluid grid/ flexible images/ media queries—in a May 2010 article in A List Apart • WikiPedia: • Crafting sites to provide an optimal viewing and interaction experience — easy reading and navigation with a minimum of resizing, panning, and scrolling—across a wide range of devices (from desktop computer monitors to mobile phones) • Adapts the layout using fluid, proportion-based grids, flexible images, and CSS3 media queries
  • 5. What is RWD? • Usually refers to a page displaying on a mobile device • More specially refers to a page displaying at any size • Technically means any size and any device
  • 6. Why RWD? • The client wants the website to work on the iPhone. • And the iPad • And the iPad Pro • And the iPad Mini • And the Galaxy Note 3 • And the Nexus 7 • And myriad other Android devices • And watches • And TV… The days of “what is the minimum screen size we are targeting?” are over.
  • 7. Browser Stats Don’t worry about IE8. The world is IE11+ now
  • 8. Mobile Browser Stats More of a concern is the various Android browsers, using 40% of the market
  • 9. Media Queries • Are just a small part of RWD! • RWD is primarily about fluid designs, with resizable containers • Media Queries come into play when the design needs to be restructured More on Media Queries later…
  • 10. Unobtrusive JavaScript A consideration for web apps • Separation of functionality (behavior) from the presentation • Best practices such as scalability • Progressive enhancement for user agents that may not support advanced functionality https://en.wikipedia.org/wiki/Unobtrusive_JavaScript
  • 11. Progressive Enhancement A consideration for web sites • Basic content should be accessible to all web browsers • Basic functionality should be accessible to all web browsers • Sparse, semantic markup contains all content • Enhanced layout is provided by externally linked CSS • Enhanced behavior is provided by unobtrusive, externally linked JavaScript • End-user web browser preferences are respected https://en.wikipedia.org/wiki/Progressive_enhancement
  • 12. Feature Detection • An important aspect of Unobtrusive JavaScript • Detecting browsers is bad: • Best practice is to test for the feature: if ( document.designMode ){ document.designMode = 'on'; }else{ document.body.contentEditable = 'true'; } if ( navigator.userAgent.indexOf(‘MSIE’) > -1 ) { … } Sniffing to determine if a mobile device is acceptable is some circumstances
  • 13. Server Considerations • Display device-dependent content • Render different HTML and CSS • Minimize network requests
  • 14. JS Frameworks • Some more mobile friendly than others • Jeff Atwood complains about poor Ember perf for Discourse • Isomorphic/Universal Apps using server side rendering • Virtual DOM can sometimes be effective • But is by no means a silver bullet • On demand loading
  • 15. Mobile First • Consider the design of mobile and desktop at the same time • Don’t retrofit mobile • In-betweens (tablets, small browser windows) can be done as you go • UI elements (drop downs, modals) will need to work in both • JavaScript architecture should be lean • Start with minimal code, and on demand, add features • Load a second style sheet only if desktop • Test: browser resizing, emulator, then actual device
  • 16. Meta Tags • At the minimum, the following tags should be used in the HTML page: • width=device-width • to match the screen's width in device-independent pixels. • initial-scale=1 • to establish a 1:1 relationship between CSS pixels and device-independent <meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="format-detection" content="telephone=no"> <meta name="apple-mobile-web-app-capable" content="yes">
  • 17. Images • Images • Seriously, NO IMAGES! • Images don’t scale • Say goodbye to your image sprites • Instead, use font icons or SVG • SVG can be styled
  • 18. Images • Obviously websites use images… as in pictures… and web apps may use them for a splash screen • Use the <picture> element http://www.html5rocks.com/en/tutorials/responsive/picture-element/
  • 19. REM & EM • px is a fixed width • em is relative to its container size • body{ font:10px} / body div{ font:0.5em} [5px] / body div div{ font:0.5em} [2.5px] • rem is relative to root size • body{ font:10px} / body div{ font:0.5em} [5px] / body div div{ font:0.5em} [5px] • Use px for dimensions and borders • Use a combination of em and rem for text, borders, and margins • em works best for media queries • Test all browsers - Safari is buggy http://zellwk.com/blog/media-query-units/
  • 20. block vs inline vs inline-block • inline has no dimensions. It takes the size of its contained text • width, height, margin has no affect • padding works since it is part of the contained text • inline-block allows for dimensions • By default, is the size of contained text • block allows for dimensions • Creates a new line (don’t use <br>!!) • Cannot be a child of a <p> • By default, width is “auto”, sized to its container • “auto” !== 100%
  • 21. float vs inline-block • inline-block • supports vertical-align • Suffers from white space issues • float • Designed to support magazine style layouts where text floats around the image • clear-fix is unintuitive (tip: use overflow:auto) • Causes unwanted bugs or unpredictable side effects https://www.w3.org/wiki/Floats_and_clearing Floats
  • 22. flex-box • The flexbox layout is direction-agnostic as opposed to the regular layouts: block which is vertically-based and inline which is horizontally-based. • Provides flexibility when it comes to orientation changing, resizing, stretching, shrinking, etc. • Not intuitive, and difficult to learn (but is worth the effort) .container{ display: flex; flex-flow: row wrap; } .item { flex: 1 1 auto; }
  • 23. CSS Grid Layout (NA) • The solution to layouts • Works well with flex box • The spec is still be worked on .container{ grid-template-columns: 40px 50px auto 50px 40px; grid-template-rows: 25% 100px auto; } https://css-tricks.com/snippets/css/complete-guide-grid/
  • 25. Media Queries • The first public working draft published in 2001 • Became a W3C Recommendation in 2012 after browsers added support • Essentially true/false expressions • Simply defined: DEVICE : EXPRESSION • min-width:500px will apply to >=500px • Typically, use min-width for mobile-first, max-width for desktop-first @media screen and (min-width:500px) { background: red; } @media screen and (max-width:500px) { background: blue; }
  • 26. Media Queries @media screen and (min-width:500px) { background: red; } @media print and (max-width:500px) { background: transparent; } <link rel="stylesheet" media="print" /> <link rel="stylesheet" media="screen" /> // roughly targets mobile: <link rel="stylesheet" media="screen and (max-device-width: 799px)" /> Usage • They can be used to target styles or stylesheets
  • 27. Media Queries And @media (min-width: 600px) and (max-width: 800px) { body { background: red; } } Or @media (max-width: 600px), (min-width: 800px) { body { background: red; } } Not @media not all and (max-width: 600px) { body { background: red; } } Operators
  • 28. Media Queries @media screen and (min-width:500px) { background: red; } Devices • braille • embossed • handheld • print • projection • screen • speech • tty • tv You’ll pretty much only ever use screen. handheld isn’t what you think it is. There is no device type for mobile.
  • 29. Media Queries /* Smartphones (portrait and landscape) -- -- -- -- -- - */ @media only screen and (min-device-width : 320px) and (max-device-width : 480px) { /* Styles */ } /* Smartphones (landscape) -- -- -- -- -- - */ @media only screen and (min-width : 321px) { /* Styles */ } /* Smartphones (portrait) -- -- -- -- -- - */ @media only screen and (max-width : 320px) { /* Styles */ } /* iPads (portrait and landscape) -- -- -- -- -- - */ @media only screen and (min-device-width : 768px) and (max-device-width : 1024px) { /* Styles */ } Targeting Mobile /* iPads (landscape) -- -- -- -- -- - */ @media only screen and (min-device-width : 768px) and (max-device-width : 1024px) and (orientation : landscape) { /* Styles */ } /* iPads (portrait) -- -- -- -- -- - */ @media only screen and (min-device-width : 768px) and (max-device-width : 1024px) and (orientation : portrait) { /* Styles */ } /* Desktops and laptops -- -- -- -- -- - */ @media only screen and (min-width : 1224px) { /* Styles */ } /* Large screens -- -- -- -- -- - */ @media only screen and (min-width : 1824px) { /* Styles */ } Don’t do this nonsense!!
  • 30. Media Queries Targeting Mobile @media screen and (max-device-width: 773px) and (max-device-height: 435px) { body { background: red; } } • The design should be responsive, not specific • Don’t rely on min-resolution: 2dppx - this targets Macs with Retina Display • Don’t rely on @media handheld, this is for older, flip-style (etc) phones These dimensions target the largest Android device
  • 31. Media Queries Targeting Mobile and Tablets, and desktop // mobile @media screen and (max-device-width: 773px) and (max-device-height: 435px), screen and (max-device-width: 435px) and (max-device-height: 773px), screen and (max-width: 773px) { body { background: red; } } //tablet @media screen and (max-device-width: 768px) and (max-device-height: 1024px), screen and (max-device-width: 1024px) and (max-device-height: 768px), screen and (max-width: 768px) { body { background: red; } } These dimensions target the largest devices and desktop
  • 32. Media Queries JavaScript function onMediaChange(e){ var mq = e.srcElement; if(mq.matches){ node.innerHTML = 'Matches: ' + mq.media; }else{ node.innerHTML = 'Matches no media queries'; } } var mq = window.matchMedia('(min-width: 600px)'); mq.addListener(onMediaChange); • Much better than listening to window.onresize • Use for conditionally launching desktop-only widgets or ads
  • 33. DEMOS