Meta layout: a closer look at media queries

100
A CLOSER LOOK AT MEDIA QUERIES STEPHEN HAY BY @media mobilism and (year: 2011)

description

 

Transcript of Meta layout: a closer look at media queries

Page 1: Meta layout: a closer look at media queries

A CLOSER LOOK AT MEDIA QUERIESSTEPHEN HAYBY

@media mobilism and (year: 2011)

Page 2: Meta layout: a closer look at media queries
Page 3: Meta layout: a closer look at media queries

B. Rowser

Page 4: Meta layout: a closer look at media queries

Hi handsome.

Page 5: Meta layout: a closer look at media queries

@media mood and (min-level: fine)

Fine.

Page 6: Meta layout: a closer look at media queries

@media screen and (min-width: 600px)

Yes.

Page 7: Meta layout: a closer look at media queries

@media all and (orientation: landscape)

What are you,an idiot?

Page 8: Meta layout: a closer look at media queries
Page 9: Meta layout: a closer look at media queries

As you wish.

Page 10: Meta layout: a closer look at media queries
Page 11: Meta layout: a closer look at media queries
Page 12: Meta layout: a closer look at media queries
Page 13: Meta layout: a closer look at media queries

MEDIA QUERIES

@media [not|only] type [and] (expr) { rules;}

== Feature detection

Page 14: Meta layout: a closer look at media queries

MEDIA TYPES@media screen { ... }@media print { ... }

@media handheld { ... }

Page 15: Meta layout: a closer look at media queries

MEDIA TYPES@media screen { ... }@media print { ... }

@media handheld { ... }

Let’s add some logic...@media screen and { ... }

Page 16: Meta layout: a closer look at media queries

MEDIA TYPES@media screen { ... }@media print { ... }

@media handheld { ... }

Let’s add some logic...@media screen and { ... }

and a feature to query@media screen and (color) { ... }

Page 17: Meta layout: a closer look at media queries

MEDIA TYPES@media screen { ... }@media print { ... }

@media handheld { ... }

Let’s add some logic...@media screen and { ... }

and a feature to query@media screen and (color) { ... }

Hey— tell them some more about logic,

you bastard.

Page 18: Meta layout: a closer look at media queries

logical AND

@media screen and (min-width: 600px) and (max-width: 1200px)

constrains a query

Page 19: Meta layout: a closer look at media queries

logical OR

@media screen and (min-resolution: 300dpi), screen and (-webkit-min-device-pixel-ratio: 2)

the comma is an OR

Page 20: Meta layout: a closer look at media queries

logical NOT

@media not screen and (color)

Page 21: Meta layout: a closer look at media queries

logical NOT

@media not screen and (color)

be careful...

Page 22: Meta layout: a closer look at media queries

logical NOT @media not screen and (min-width: 600px)

Page 23: Meta layout: a closer look at media queries

logical NOT @media not screen and (min-width: 600px)

does not evaluate as:@media (not screen) and (min-width: 600px)

Page 24: Meta layout: a closer look at media queries

logical NOT @media not screen and (min-width: 600px)

does evaluate as: @media (not (screen and (min-width: 600px)))

does not evaluate as:@media (not screen) and (min-width: 600px)

Page 25: Meta layout: a closer look at media queries

ONLY

@media only all and (device-aspect-ratio: 16/9)

hides the CSS from older browsers

Page 26: Meta layout: a closer look at media queries

ONLY

@media only all and (device-aspect-ratio: 16/9)

hides the CSS from older browsers

Enough. Enough. What about the

Media Features?

Page 27: Meta layout: a closer look at media queries

Media Features

widthheightdevice-widthdevice-heightorientationaspect-ratiodevice-aspect-ratio

colorcolor-indexmonochromeresolutionscangrid

Page 28: Meta layout: a closer look at media queries

Media Features

widthheightdevice-widthdevice-heightorientationaspect-ratiodevice-aspect-ratio

colorcolor-indexmonochromeresolutionscangrid

Page 29: Meta layout: a closer look at media queries

Media Features

widthheightdevice-widthdevice-heightorientationaspect-ratiodevice-aspect-ratio

colorcolor-indexmonochromeresolutionscangrid

Page 30: Meta layout: a closer look at media queries

Media Features

widthheightdevice-widthdevice-heightorientationaspect-ratiodevice-aspect-ratio

colorcolor-indexmonochromeresolutionscangrid

Page 31: Meta layout: a closer look at media queries

Media Features

widthheightdevice-widthdevice-heightorientationaspect-ratiodevice-aspect-ratio

colorcolor-indexmonochromeresolutionscangrid

Page 32: Meta layout: a closer look at media queries

Media Features

widthheightdevice-widthdevice-heightorientationaspect-ratiodevice-aspect-ratio

colorcolor-indexmonochromeresolutionscangrid

Page 33: Meta layout: a closer look at media queries

Media Features

widthheightdevice-widthdevice-heightorientationaspect-ratiodevice-aspect-ratio

colorcolor-indexmonochromeresolutionscangrid

Page 34: Meta layout: a closer look at media queries

Media Features

widthheightdevice-widthdevice-heightorientationaspect-ratiodevice-aspect-ratio

colorcolor-indexmonochromeresolutionscangrid

Page 35: Meta layout: a closer look at media queries

Media Features

widthheightdevice-widthdevice-heightorientationaspect-ratiodevice-aspect-ratio

colorcolor-indexmonochromeresolutionscangrid

Page 36: Meta layout: a closer look at media queries

Media Features

widthheightdevice-widthdevice-heightorientationaspect-ratiodevice-aspect-ratio

colorcolor-indexmonochromeresolutionscangrid

likely you’ll use these most:

Page 37: Meta layout: a closer look at media queries

Testing

Page 38: Meta layout: a closer look at media queries

Testing

Yes, you are.

Page 39: Meta layout: a closer look at media queries

Prefixed Features

Page 40: Meta layout: a closer look at media queries

Prefixed Features

How many device pixels per CSS pixel?

Page 41: Meta layout: a closer look at media queries

Prefixed Features

-webkit-[min|max]-device-pixel-ratio[min|max]--moz-device-pixel-ratio-o-[min|max]-device-pixel-ratio

How many device pixels per CSS pixel?

Page 42: Meta layout: a closer look at media queries

Prefixed Features

-webkit-[min|max]-device-pixel-ratio[min|max]--moz-device-pixel-ratio-o-[min|max]-device-pixel-ratio

How many device pixels per CSS pixel?

-webkit-min-device-pixel-ratio: 1.5-o-min-device-pixel-ratio: 3/2

Page 43: Meta layout: a closer look at media queries

Prefixed Features

A pixel is not a pixel.

Page 44: Meta layout: a closer look at media queries

Prefixed Features

-moz-touch-enabled

Is this a touch device?

Page 45: Meta layout: a closer look at media queries

Prefixed Features

-moz-touch-enabled

Is this a touch device?

@media screen and (-moz-touch-enabled) { /* touchy styles */}

Page 46: Meta layout: a closer look at media queries

Viewport@media screen and (max-device-width: 320px)

Page 47: Meta layout: a closer look at media queries

Viewport@media screen and (max-device-width: 320px)

device-width

layout viewport

Page 48: Meta layout: a closer look at media queries

Viewport@media screen and (max-device-width: 320px)

Meta viewport.

Page 49: Meta layout: a closer look at media queries

Meta viewport<meta name="viewport"

content="width=device-width">

Page 50: Meta layout: a closer look at media queries

Meta viewport<meta name="viewport"

content="width=device-width">

@media screen and (max-width: 320px) { div { width: 80%; }}

use that in combination with WIDTH

Page 51: Meta layout: a closer look at media queries

Meta viewport

@media screen and (max-width: 320px) { div { width: 80%; }}

use that in combination with WIDTH

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

initial-scale=1">

Page 52: Meta layout: a closer look at media queries

viewport in CSS?

@viewport { width: device-width; zoom: 1; /* No, not THAT zoom */}

Page 53: Meta layout: a closer look at media queries

viewport in CSS?

@viewport { width: device-width; zoom: 1; /* No, not THAT zoom */}

Enough already. How can we apply

these things?

Page 54: Meta layout: a closer look at media queries

Applying media queries

Page 55: Meta layout: a closer look at media queries

Applying media queriesas blocks in css

Page 56: Meta layout: a closer look at media queries

Applying media queries

media attribute of link element

as blocks in css

Page 57: Meta layout: a closer look at media queries

Applying media queries

media attribute of link element

as blocks in css

@import

Page 58: Meta layout: a closer look at media queries

Applying media queries

Page 59: Meta layout: a closer look at media queries

You don’t always need them

Page 60: Meta layout: a closer look at media queries

omg

Page 61: Meta layout: a closer look at media queries

Layout is not design.

Page 62: Meta layout: a closer look at media queries

Design is the art of putting form and content together.

Paul Rand said that

Page 63: Meta layout: a closer look at media queries

The media query is a screwdriver.

Layout is only one of the components of

design.

Page 64: Meta layout: a closer look at media queries

Hey dude, remember when we designed

web PAGES?

Page 65: Meta layout: a closer look at media queries

Pagesto

Componentsto

Systems

Page 66: Meta layout: a closer look at media queries

Layout strategywireframes

drupal.org/node/413910

Page 67: Meta layout: a closer look at media queries

Layout strategywireframes

graffletopia.com/stencils/358

Page 68: Meta layout: a closer look at media queries

Layout strategyReference wireframing

A B C

D E

F

g H

Page 69: Meta layout: a closer look at media queries

Layout strategyBreakpoint graphs

0 px We have no idea600 px 900 px

Page 70: Meta layout: a closer look at media queries

Structured content first

Layout strategyBreakpoint graphs

0 px We have no idea600 px 900 px

Page 71: Meta layout: a closer look at media queries

Structured content first

Layout strategyBreakpoint graphs

0 px We have no idea600 px 900 px

Page 72: Meta layout: a closer look at media queries

Structured content first

Layout strategyBreakpoint graphs

0 px We have no idea600 px 900 px

Page 73: Meta layout: a closer look at media queries

Structured content first

Layout strategyBreakpoint graphs

0 px We have no idea600 px 900 px

Page 74: Meta layout: a closer look at media queries

Structured content first

Layout strategyBreakpoint graphs

0 px We have no idea600 px 900 px

Fluid layout

Page 75: Meta layout: a closer look at media queries

Order-independent layout mechanisms

Page 76: Meta layout: a closer look at media queries
Page 77: Meta layout: a closer look at media queries

N

S

E

Page 78: Meta layout: a closer look at media queries

ENS

Flexible Box Layout module

Page 79: Meta layout: a closer look at media queries

Flexible Box Layout module

N

S

E

tb

Page 80: Meta layout: a closer look at media queries
Page 81: Meta layout: a closer look at media queries

H

C

A

F

Page 82: Meta layout: a closer look at media queries

Grid layout module

Page 83: Meta layout: a closer look at media queries

H

C

F

AGrid layout module

Page 84: Meta layout: a closer look at media queries

Grid layout module

(templates)

H

C

F

A

Page 85: Meta layout: a closer look at media queries

Grid layout module

(templates)

Page 86: Meta layout: a closer look at media queries

Grid layout module

(templates)

F

C

H

A

Page 87: Meta layout: a closer look at media queries

F

C

H

A

Not as cool as two bears fighting a hockey player.

Page 88: Meta layout: a closer look at media queries
Page 89: Meta layout: a closer look at media queries

Media queries / (meta) viewport

Page 90: Meta layout: a closer look at media queries

Media queries / (meta) viewport

fluid layouts

Page 91: Meta layout: a closer look at media queries

Media queries / (meta) viewport

fluid layouts

device/browser support profiles

Page 92: Meta layout: a closer look at media queries

Media queries / (meta) viewport

fluid layouts

device/browser support profiles

content reference wireframing

Page 93: Meta layout: a closer look at media queries

Media queries / (meta) viewport

fluid layouts

device/browser support profiles

content reference wireframing

layout breakpoint graphs

Page 94: Meta layout: a closer look at media queries

Media queries / (meta) viewport

fluid layouts

device/browser support profiles

content reference wireframing

layout breakpoint graphs

new layout mechanisms

Page 95: Meta layout: a closer look at media queries

Think in terms of design principles & systems

Page 96: Meta layout: a closer look at media queries

The art of letting go

Page 97: Meta layout: a closer look at media queries

We need to think up new ways to design layout, and new ways

to communicate these new designs to our colleagues and our clients.