Responsive Web Design
Aaron Weyenberg
@aweyenberg
(And embracing the unknown)
Wednesday, November 9, 11
Slide 2
Slide 2 text
Wednesday, November 9, 11
Slide 3
Slide 3 text
Wednesday, November 9, 11
Slide 4
Slide 4 text
Wednesday, November 9, 11
Slide 5
Slide 5 text
Wednesday, November 9, 11
Slide 6
Slide 6 text
Wednesday, November 9, 11
Slide 7
Slide 7 text
Now if you’re viewing the site on a
telephone, you will never in a trillion
years experience the site. You’ll think
you have experienced it. But you’ll be
cheated.
It’s such a sadness that you think
you’ve viewed a site on your...
fffucking telephone. Get real.
Wednesday, November 9, 11
Slide 8
Slide 8 text
Photo: Robert Scoble
How great is this, really?
Wednesday, November 9, 11
Slide 9
Slide 9 text
2000’s
Image: Movie Title Stills Collection
Wednesday, November 9, 11
Slide 10
Slide 10 text
Image: Movie Title Stills Collection
Wednesday, November 9, 11
Slide 11
Slide 11 text
2007
The Great Disruption
iPhone
2008
Android
2010
WP 7 iPad
Wednesday, November 9, 11
Slide 12
Slide 12 text
Motorola Xoom
Samsung Galaxy Tab
The Great Disruption
Sony Tablet S
2011
2010
Wednesday, November 9, 11
Slide 13
Slide 13 text
2011 (Cont...)
The Great Disruption
HP TouchPad (RIP)
Blackberry Playbook Toshiba Thrive
Wednesday, November 9, 11
Slide 14
Slide 14 text
2011 (Cont...)
The Great Disruption
Amazon Kindle Fire ? ?
2012
Wednesday, November 9, 11
Slide 15
Slide 15 text
Wednesday, November 9, 11
Slide 16
Slide 16 text
Photo: blmiers2
Mobile
Tablets
Netbooks
Laptops
Desktops
Wednesday, November 9, 11
Slide 17
Slide 17 text
Wednesday, November 9, 11
Slide 18
Slide 18 text
We should ... design for this flexibility.
But first, we must ‘accept the ebb and
flow of things’.”
“
Wednesday, November 9, 11
Slide 19
Slide 19 text
Using percentages to specify page
layout in CSS automatically creates
adaptive pages.”
“
Wednesday, November 9, 11
Slide 20
Slide 20 text
@media print {
...
}
CSS2: Media Types
External link
Embedded
Wednesday, November 9, 11
Slide 21
Slide 21 text
@media only screen and (min-width:500px) {
...
}
CSS3: Media Conditions
External link
Embedded
Wednesday, November 9, 11
Slide 22
Slide 22 text
Wednesday, November 9, 11
Slide 23
Slide 23 text
m.radwebsite.com
Wednesday, November 9, 11
Slide 24
Slide 24 text
1 URL, n destinations
Wednesday, November 9, 11
Slide 25
Slide 25 text
...there is only The Web, which we view in different ways. There
is also no Desktop Web. Or Tablet Web. Thank you.”
Stephen Hay via Twitter
“There is no mobile web...
Wednesday, November 9, 11
Slide 26
Slide 26 text
Launched Sept 12, 2011
bostonglobe.com
Wednesday, November 9, 11
Slide 27
Slide 27 text
From now on...
Wednesday, November 9, 11
Slide 28
Slide 28 text
The RWD Stack
Adaptive layouts & grids
Flexible images & content
CSS3 Media Queries
Wednesday, November 9, 11
CSS3 Media Queries
Desktop down
Wednesday, November 9, 11
Slide 36
Slide 36 text
CSS3 Media Queries
Mobile up
Wednesday, November 9, 11
Slide 37
Slide 37 text
Desktop down MQ’s
@media only screen and (max-width: 992px) {
// up to 992px
}
// Resets
// Global styles
// Styles for all widths
@media only screen and (max-width: 1382px) {
// up to 1382px
}
Wednesday, November 9, 11
Slide 38
Slide 38 text
@media only screen and (max-width: 600px) {
// up to 600px
}
@media only screen and (max-width: 768px) {
// up to 768px
}
@media only screen and (max-width: 480px) {
// up to 480px
}
Wednesday, November 9, 11
Slide 39
Slide 39 text
Mobile up MQ’s
@media only screen and (min-width: 600px) {
// 600px and up
}
// Resets
// Global styles
// All styles for widths < 480px
@media only screen and (min-width: 480px) {
// 480px and up
}
No query IS your first query
Wednesday, November 9, 11
Slide 40
Slide 40 text
@media only screen and (min-width: 992px) {
// 992px and up
}
@media only screen and (min-width: 768px) {
// 768px and up
}
@media only screen and (min-width: 1382px) {
// 1382px and up
}
Wednesday, November 9, 11
Slide 41
Slide 41 text
Ranged MQ’s
@media only screen and (min-width: 480px)
and (max-width: 600px) {
// between 480px to 600px
}
for discrete styles
0 480px 600px 1382px
Wednesday, November 9, 11
Slide 42
Slide 42 text
Wednesday, November 9, 11
Slide 43
Slide 43 text
RWD’s Challenges
Images
Slide 44
Slide 44 text
RWD’s Challenges
Images Tables Ads Process
Wednesday, November 9, 11
Slide 45
Slide 45 text
RWD’s Challenges
Images Tables Ads Process
Wednesday, November 9, 11
Slide 46
Slide 46 text
RWD’s Challenges
Images Tables Ads Process
Wednesday, November 9, 11
Slide 47
Slide 47 text
RWD’s Challenges
Images Tables Ads Process
Wednesday, November 9, 11
Slide 48
Slide 48 text
RWD’s Challenges
Images Tables Ads Process
Wednesday, November 9, 11
Slide 49
Slide 49 text
Responsive Images
This is hard
Wednesday, November 9, 11
1. Get screen size with Javascript
2. Loop through tags
3. Write in appropriate tags
Wednesday, November 9, 11
Slide 52
Slide 52 text
1. Prefix image url with proxy service
Sencha.io
2. Nothing. YOur’e done.
Wednesday, November 9, 11
Slide 53
Slide 53 text
Responsive Tables
(Chris Coyier)
Wednesday, November 9, 11
Slide 54
Slide 54 text
Wednesday, November 9, 11
Slide 55
Slide 55 text
...
18
Center
24
33
...
Data attributes match
column headers
Wednesday, November 9, 11
Slide 56
Slide 56 text
table, thead, tbody, th, td, tr {
display: block;
}
thead tr {
position: absolute;
left: -9999px;
}
Stack all table elements
Hide the table headers
Wednesday, November 9, 11
Slide 57
Slide 57 text
td {
position: relative;
padding-left: 50%;
}
td:before {
position: absolute; width: 50%;
content: attr(data-label);
}
Make space for data-labels
Position and insert data-labels
Wednesday, November 9, 11
Slide 58
Slide 58 text
0-760px
> 760px
Wednesday, November 9, 11
Slide 59
Slide 59 text
Ads and Responsive Design
Don’t mix (yet)
Wednesday, November 9, 11
Slide 60
Slide 60 text
Wednesday, November 9, 11
Slide 61
Slide 61 text
Wednesday, November 9, 11
Slide 62
Slide 62 text
Wednesday, November 9, 11
Slide 63
Slide 63 text
display: none;
$().appendTo()
Wednesday, November 9, 11
Slide 64
Slide 64 text
Wednesday, November 9, 11
Slide 65
Slide 65 text
Wednesday, November 9, 11
Slide 66
Slide 66 text
display: none;
Wednesday, November 9, 11
Slide 67
Slide 67 text
Is there a future for
responsive ads?
Yep. If we create one.
(...like an independently
responsive ad API.)
Wednesday, November 9, 11
Slide 68
Slide 68 text
The Responsive Workflow
Nimble and iterative
Wednesday, November 9, 11
Slide 69
Slide 69 text
What we’ve been doing
Wednesday, November 9, 11
Slide 70
Slide 70 text
What we’ll need to do
Forget pixel precision
Move to the browser early
Rapid prototyping!
Developers + Designers
Wednesday, November 9, 11
Slide 71
Slide 71 text
We’re our own best resource
Photo: lightmanx5
Wednesday, November 9, 11
Slide 72
Slide 72 text
Three things...
Wednesday, November 9, 11
Slide 73
Slide 73 text
Structured content
Wednesday, November 9, 11
Slide 74
Slide 74 text
Mobile first
Structured content
Wednesday, November 9, 11
Slide 75
Slide 75 text
Mobile first
Progressive
Enhancement
Structured content
Wednesday, November 9, 11
Slide 76
Slide 76 text
Mobile first
Progressive
Enhancement
Structured content
RWD
Wednesday, November 9, 11
Slide 77
Slide 77 text
Photo: Fausto Fernos
Wednesday, November 9, 11
Slide 78
Slide 78 text
Photo: NASA, ESA, M. Livo and the Hubble 20th Anniversary Team (STScl)
Wednesday, November 9, 11
Slide 79
Slide 79 text
Taking the RWD path means
Being at peace with the
unknown
Wednesday, November 9, 11
Slide 80
Slide 80 text
Thanks!
Aaron Weyenberg
@aweyenberg
Wednesday, November 9, 11