Media queries

88
USING MEDIA QUERIES to build Mobile Web Applications

Transcript of Media queries

Page 1: Media queries

USING MEDIA QUERIES

to build Mobile Web Applications

Page 2: Media queries

@kevinderudder working for eGuidelines and a lecturer at the Technical University of West Flanders. Contact me on [email protected]

Page 3: Media queries
Page 4: Media queries

Website on a desktop Website on a mobile phone

Page 5: Media queries
Page 6: Media queries
Page 7: Media queries

Agenda

• Why this topic

• Native vs Web apps

• Responsive Design

• HTML5 and CSS3 to the rescue

• Usefull HTML5 Tags

• Media Queries

Page 8: Media queries

WHY THIS TOPIC

Page 9: Media queries

Photo by http://neuroticworkaholic.blogspot.com

Page 10: Media queries
Page 11: Media queries
Page 12: Media queries

As a web developer you should target multiple (all) devices

Page 13: Media queries

HOW?? Native vs WEB

Page 14: Media queries

Native Development

• Windows Metro Applications • XAML with C#, VB.NET or C++

• HTML with JavaScript

• iOS apps • Objective C

• Android • Java

Page 15: Media queries

HTML5 and CSS3 to the rescue

Page 16: Media queries

= CONTENT

= UI

Page 18: Media queries

HTML5

Structure

Audio and Video

Canvas

Web Storage

Indexed DB

Web Workers

WebSockets

Server-Sent Events

File APIs

History Navigation

Drag and Drop

Offline

Forms

XHR2

Messaging

Geolocation

...

Page 19: Media queries

HTML5

Structure

Audio and Video

Canvas

Web Storage

Indexed DB

Web Workers

WebSockets

Server-Sent Events

File APIs

History Navigation

Drag and Drop

Offline

XHR2

Messaging

Geolocation

...

Forms

Page 20: Media queries

CSS3

Rounded Corners

Box Shadow Colors

HSL, HSLA Text Effects

Attribute matching

Box Model Web Fonts

Selectors

Multi-column layout

Borders

Media Queries

Background

Page 21: Media queries

CSS3

Rounded Corners

Box Shadow Colors

HSL, HSLA Text Effects

Attribute matching

Box Model Web Fonts

Selectors

Multi-column layout

Borders

Media Queries

Background

Page 22: Media queries
Page 23: Media queries
Page 24: Media queries
Page 25: Media queries
Page 26: Media queries

Let’s get started and change that MVC site into a cross platform/device web application

Page 27: Media queries

Before you even think about designing

CONTENT IS KING

Page 28: Media queries
Page 29: Media queries
Page 30: Media queries

How do you point to the specific content??

Page 31: Media queries

<div id=“main”>

<div id=“header”> <div id=“top” />...

<div id=“left”>

<div class=“content”>

<div id=“footer”>

<div id=“navigation”> <div id=“menu”>...

<div class=“content”>

Page 32: Media queries

<section>

<header>

<aside>

<article>

<footer>

<nav>

<article>

Page 33: Media queries
Page 34: Media queries

<header /> <nav />

<footer />

<aside />

<article /> <section />

Page 35: Media queries

<header />

<nav />

<article />

<aside />

<section />

Page 36: Media queries

DEMO

Page 37: Media queries

<header /> <nav />

<section />

<footer />

<aside />

<article />

Page 38: Media queries

Make it MOBILE

Page 39: Media queries

How are you gonna serve the page to the device 1. Redirect 2. Responsive design via Media Queries

Page 40: Media queries

How are you gonna serve the page to the device 1. Redirect 2. Responsive design via Media Queries

Page 41: Media queries

<script type="text/javascript"> if (screen.width <= 320) { document.location = "m.microsoft.com"; } </script>

Page 42: Media queries
Page 43: Media queries
Page 44: Media queries
Page 45: Media queries

This is good, if you want to deliver different content

Page 46: Media queries
Page 47: Media queries
Page 48: Media queries

But, do you create a custom experience for each (new) browser or device

Page 49: Media queries

How are you gonna serve the page to the device 1. Redirect 2. Responsive design via Media Queries

Page 50: Media queries

What does it mean: RESPONSIVE

Page 51: Media queries

Pictures of M. vatia

Page 52: Media queries

Pictures of M. vatia

Page 53: Media queries
Page 55: Media queries
Page 56: Media queries
Page 57: Media queries

If you want to make your web app responsive, you should implement 3 ingredients

• A flexible, grid-based layout • Flexible images and media • Media Queries

Page 58: Media queries
Page 59: Media queries

We will only focus on Media Queries

Page 60: Media queries
Page 61: Media queries
Page 62: Media queries
Page 63: Media queries

Media Queries allow you write design code based on the characteristics of a device

Page 64: Media queries

@media all and (max-width: 640px) { }

MEDIA QUERY

Type Query or Expression

Media Queries exists out of 2 parts

Page 65: Media queries

1. Media Type 2. Expression

Media Queries exists out of 2 parts

Page 66: Media queries

Media Types

Page 67: Media queries
Page 68: Media queries

Global.css

Page 69: Media queries

The media types

All Suitable for all devices

Braille Intended for braille tactile feedback devices

Embossed Intended for paged braille printers

Handheld Intended for handheld devices

Print Intended for paged material

Projection Intended for projected presentations

Screen Intended primarily for color computer screens

Speech Inteded for speech synthesizers

Tty Media using a fixed character grid

Tv Intended for television-type devices

Taken from the W3C site

Page 70: Media queries

AHA, there is something like handheld

Page 71: Media queries

@media screen { body { background-color: Red; } } @media handheld { body { background-color: Yellow; } }

This is not yellow

Page 72: Media queries

Old devices didn’t have capable browsers

Page 73: Media queries

Modern mobile devices use screen as media type

Page 74: Media queries

1. Media Type 2. Expression

Media Queries exists out of 2 parts

Page 75: Media queries

@media all and (max-width: 640px) { }

MEDIA QUERY

Feature Value

Type Query or Expression

Page 76: Media queries

• Width

• Height

• Device-width

• Device-height

• Resolution

• Aspect-ratio

• Device-aspect-ratio

• Color

• Color-index

• Monochrome

The Features

Features with min- and max- prefixes

Page 77: Media queries

• Orientation

• Scan

• Grid

The Features

Features without min- and max- prefixes

Page 78: Media queries

3 Ways to implement Media Queries

1.

2.

3.

Page 79: Media queries

A Media Query

Page 80: Media queries

Combine multiple queries

Page 81: Media queries

Combine multiple queries

Page 82: Media queries

NOT

Page 83: Media queries

DEMO

Page 84: Media queries

RESOURCES

Page 85: Media queries
Page 86: Media queries
Page 87: Media queries
Page 88: Media queries

Thank you [email protected]