+ All Categories
Home > Technology > Responsive web design standards?

Responsive web design standards?

Date post: 27-Jan-2015
Category:
Upload: chris-mills
View: 106 times
Download: 0 times
Share this document with a friend
Description:
This talk was given at the responsive web design event at Manchester Metropolitan university on December 5th 2012. It looks at responsive design from the standards perspective, starting with history, and how we got to where we are now, and looking at the technologies available for practicing RWD in the modern day and in the near future.
Popular Tags:
53
Chris Mills Opera Software/W3C Responsive web standards? Friday, 7 December 12
Transcript
Page 1: Responsive web design standards?

Chris MillsOpera Software/W3C

Responsive web standards?

Friday, 7 December 12

Page 2: Responsive web design standards?

* Works for Opera and W3C* Open standards evangelist* HTML5/CSS3 wrangler* Accessibility whinger* Education agitator* Heavy metal drummer

Who am I?

Responsive web standards? Chris MillsFriday, 7 December 12

Page 3: Responsive web design standards?

@[email protected]/[email protected]

slideshare.net/chrisdavidmillswebplatform.orgdev.opera.com

Useful stuff

Friday, 7 December 12

Page 4: Responsive web design standards?

Do web standards provide a good set of tools for responsive web design?

A question

Responsive web standards? Chris MillsFriday, 7 December 12

Page 5: Responsive web design standards?

We’re getting there ;-)

The answer

Responsive web standards? Chris MillsFriday, 7 December 12

Page 6: Responsive web design standards?

But the road has been hard

Friday, 7 December 12

Page 7: Responsive web design standards?

CSS first existed circa 1996

Responsive web standards? Chris MillsFriday, 7 December 12

Page 8: Responsive web design standards?

<table width="100%" style="height: 100%;" cellpadding="10" cellspacing="0" border="0"><tr><!-- ============ HEADER SECTION ============== --><td colspan="2" style="height: 100px;" bgcolor="#777d6a"><h1>Website Logo</h1></td></tr>

<tr><!-- ============ LEFT COLUMN (MENU) ============== --><td width="20%" valign="top" bgcolor="#999f8e"><a href="#">Menu link</a><br><a href="#">Menu link</a><br><a href="#">Menu link</a><br><a href="#">Menu link</a><br><a href="#">Menu link</a></td>

But ... browser support?

Responsive web standards? Chris MillsFriday, 7 December 12

Page 9: Responsive web design standards?

...RWD-friendly features

Because RWD problems didn’t exist back then!

CSS 1 and 2 had very few...

Responsive web standards? Chris MillsFriday, 7 December 12

Page 10: Responsive web design standards?

Then again CSS2 has few layout tools ...

Period.

Layout tools?

Responsive web standards? Chris MillsFriday, 7 December 12

Page 11: Responsive web design standards?

And positioning is good.

But doesn’t solve everything.

We still abuse floats and padding

Responsive web standards? Chris MillsFriday, 7 December 12

Page 12: Responsive web design standards?

But they are largely flawedmedia=”screen”, media=”print”media=”handheld”, media=”tv”media=”wtf?”

CSS2 has media types

Responsive web standards? Chris MillsFriday, 7 December 12

Page 13: Responsive web design standards?

Surely they are all really “screen”?

Friday, 7 December 12

Page 14: Responsive web design standards?

We had no need for responsive images when <img> was created

<img> was never responsive

Responsive web standards? Chris MillsFriday, 7 December 12

Page 15: Responsive web design standards?

* “Proper” layout modules* Feature detection* Access to hardware features* whinge whinge whinge...* ...I want it all yesterday...* ...etc.

And we’ve never had...

Responsive web standards? Chris MillsFriday, 7 December 12

Page 16: Responsive web design standards?

Whinge over

Responsive web standards? Chris MillsFriday, 7 December 12

Page 17: Responsive web design standards?

The W3C process is long

Responsive web standards? Chris MillsFriday, 7 December 12

Page 18: Responsive web design standards?

* A problem first has to present itself* Someone has to propose a solution* Which has to be agreed by committee* After checking for the “P” word* And then implemented by browsers* And then adopted by developers

Responsive web standards? Chris Mills

The W3C process is long

Friday, 7 December 12

Page 19: Responsive web design standards?

...where media types failed

Responsive web standards? Chris Mills

Media queries succeed...

Friday, 7 December 12

Page 20: Responsive web design standards?

media="screen and (max-width: 481px)"

@media screen and (max-width: 481px) { /* do amazing stuff for narrow screens */}

Responsive web standards? Chris Mills

Media queries

Friday, 7 December 12

Page 21: Responsive web design standards?

Responsive web standards? Chris Mills

Media queries

Friday, 7 December 12

Page 22: Responsive web design standards?

For making mobile browsers behave!

Responsive web standards? Chris Mills

Viewport is also necessary

Friday, 7 December 12

Page 23: Responsive web design standards?

Responsive web standards? Chris Mills

Viewport is also necessary

Friday, 7 December 12

Page 24: Responsive web design standards?

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

Responsive web standards? Chris Mills

Viewport is also necessary

Friday, 7 December 12

Page 25: Responsive web design standards?

Does viewport stuff ... in CSS

Responsive web standards? Chris Mills

CSS device adaptation spec

Friday, 7 December 12

Page 26: Responsive web design standards?

<meta name="viewport" content="width=550, maximum-scale=1.0, target-densitydpi=device-dpi">

@viewport { width: 550px; max-zoom: 1; resolution: device;}

Responsive web standards? Chris Mills

CSS device adaptation spec

Friday, 7 December 12

Page 27: Responsive web design standards?

* script* hover* pointer (none/coarse/fine)* luminosity (dim/normal/washed)

Responsive web standards? Chris Mills

CSS4 media queries

Friday, 7 December 12

Page 28: Responsive web design standards?

* paged* interactive* touch* keyboard* remote* network-speed

Responsive web standards? Chris Mills

Other media query ideas

Friday, 7 December 12

Page 29: Responsive web design standards?

* Flexbox* Multi-col layout* Grids* Regions* Exclusions and shapes* GCPM

Responsive web standards? Chris Mills

CSS3 features “proper” layout

Friday, 7 December 12

Page 30: Responsive web design standards?

* Easier UI layout* Makes layout tasks much easier* Cross browser support getting there* Great for mobile UIs

Responsive web standards? Chris Mills

Example: Flexbox

Friday, 7 December 12

Page 31: Responsive web design standards?

<section> <article id="first"></article> <article id="second"></article> <article id="third"></article></section>

Responsive web standards? Chris Mills

Example: Flexbox

Friday, 7 December 12

Page 32: Responsive web design standards?

Responsive web standards? Chris MillsFriday, 7 December 12

Page 33: Responsive web design standards?

section { display: flex; flex-flow: row;}

section { display: flex; flex-flow: column;}

Responsive web standards? Chris Mills

Example: Flexbox

Friday, 7 December 12

Page 34: Responsive web design standards?

Responsive web standards? Chris MillsFriday, 7 December 12

Page 35: Responsive web design standards?

section { display: flex; flex-flow: row; align-items: center;}

Responsive web standards? Chris Mills

Example: Flexbox

Friday, 7 December 12

Page 36: Responsive web design standards?

Responsive web standards? Chris MillsFriday, 7 December 12

Page 37: Responsive web design standards?

#first, #third { order: 2;}

#second { order: 1;}

Responsive web standards? Chris Mills

Example: Flexbox

Friday, 7 December 12

Page 38: Responsive web design standards?

Responsive web standards? Chris MillsFriday, 7 December 12

Page 39: Responsive web design standards?

#first { flex: 1;}

#second { flex: 1;}

#third { flex: 1;}

Responsive web standards? Chris Mills

Example: Flexbox

Friday, 7 December 12

Page 40: Responsive web design standards?

Responsive web standards? Chris MillsFriday, 7 December 12

Page 41: Responsive web design standards?

#first { flex: 1;}

#second { flex: 1;}

#third { flex: 2;}

Responsive web standards? Chris Mills

Example: Flexbox

Friday, 7 December 12

Page 42: Responsive web design standards?

Responsive web standards? Chris MillsFriday, 7 December 12

Page 43: Responsive web design standards?

* max-width: 100% ...* HTML5 <video>: <source> media attributes* <picture>

Responsive web standards? Chris Mills

Responsive replaced elements

Friday, 7 December 12

Page 44: Responsive web design standards?

<source src="crystal320.webm"type="video/webm" media="all and (max-width: 480px)"> <source src="crystal720.webm" type="video/webm" media="all and (min-width: 481px)">

Responsive web standards? Chris Mills

HTML5 <video>

Friday, 7 December 12

Page 45: Responsive web design standards?

<picture alt="a picture of something"> <source src="mobile.jpg"> <source src="medium.jpg" media="min- width: 600px"> <source src="fullsize.jpg" media="min- width: 900px"> <img src="mobile.jpg"> <!-- fallback for non-supporting browsers --></picture>

Responsive web standards? Chris Mills

The <picture> element

Friday, 7 December 12

Page 46: Responsive web design standards?

* object-fit / object-position* background-image: image('image.png#xywh=150,250,100,100');* background-image: image("wavy.svg", 'wavy.png' , "wavy.gif");

Responsive web standards? Chris Mills

Other useful image features

Friday, 7 December 12

Page 47: Responsive web design standards?

img { width: 300px; height: 300px; ... object-fit: contain;}

Responsive web standards? Chris Mills

object-fit/object-position

Friday, 7 December 12

Page 48: Responsive web design standards?

background-image: image('image.png#xywh=15,30,150,120');

Responsive web standards? Chris Mills

Image fragments

Friday, 7 December 12

Page 49: Responsive web design standards?

* matchMedia* Native feature detection with @supports* CSS3 web fonts for icons* unicode-range

Responsive web standards? Chris Mills

Misc responsive features

Friday, 7 December 12

Page 50: Responsive web design standards?

if (window.matchMedia("(min-width: 400px)").matches) { /* Do stuff for wider screens */} else { /* Do stuff for narrow screens */}

Responsive web standards? Chris Mills

matchMedia

Friday, 7 December 12

Page 51: Responsive web design standards?

@supports (display:flex) { section { display: flex } ...}

Responsive web standards? Chris Mills

@supports

Friday, 7 December 12

Page 52: Responsive web design standards?

@font-face { font-family: myFont; src: local(myFont), url(/fonts/myFont.otf); unicode-range: U+000-49F, U+2000-27FF;}

Responsive web standards? Chris Mills

unicode-range

Friday, 7 December 12

Page 53: Responsive web design standards?

@[email protected]/[email protected]

slideshare.net/chrisdavidmillswebplatform.orgdev.opera.com

Thanks!

Friday, 7 December 12


Recommended