Transcript
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.


Top Related