65
Responsive Web Design for Drupal www.responsivewebdesignguild.com @emmajanedotnet [email protected]

Responsive Web Design for Drupal, CMS Expo

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Responsive Web Design for Drupal, CMS Expo

Responsive Web Design for Drupal

www.responsivewebdesignguild.com

@[email protected]

Page 2: Responsive Web Design for Drupal, CMS Expo

I am IAM

Page 3: Responsive Web Design for Drupal, CMS Expo

SorryA boot

eh?

Page 4: Responsive Web Design for Drupal, CMS Expo

Drupaldrupal.org/user/1773

Photo: morten.dkLegs: walkah

Page 5: Responsive Web Design for Drupal, CMS Expo

Author / Trainer

http://www.designtotheme.com/workshopshttp://www.designtotheme.com/ebooks

Page 6: Responsive Web Design for Drupal, CMS Expo

</me>

Page 7: Responsive Web Design for Drupal, CMS Expo

Agenda● Whirlwind tour of responsive web design.● Crash course on base themes in Drupal.● Applying responsive principles to Drupal sites.● Case study #1: responsive retrofit● Case study #2: using Fusion● Awesome give-away

Page 8: Responsive Web Design for Drupal, CMS Expo

Introduction

In the beginning:● Flexible Layouts● Media queries● Resizeable Images

Page 9: Responsive Web Design for Drupal, CMS Expo

Flexible Layouts

Page 10: Responsive Web Design for Drupal, CMS Expo

Screen Sizes

● 320px / 80px per column = 4 columns● 480px / 80px = 6 columns● 600px / 80px = 7 columns with extra

breathing room● 768px / 80px = 9 columns with extra

breathing room● 960px / 80px = 12 columns

Page 11: Responsive Web Design for Drupal, CMS Expo

Media Queries in HTML

<link rel="stylesheet" type="text/css"

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

href="320-and-smaller.css" />

Page 12: Responsive Web Design for Drupal, CMS Expo

Media Queries in CSS@media screen and (max-width: 320px) { #content, #nav, #sidebar { width: 100%; } #banner { display: none; }}

Page 13: Responsive Web Design for Drupal, CMS Expo

Flexible Content

● Images, Media● Forms

img, iframe, embed, object, input, form {

max-width: 100%;

}

Page 14: Responsive Web Design for Drupal, CMS Expo

Tables● Decide how to linearize your data and collapse or

hide <td>s as appropriate.

Page 15: Responsive Web Design for Drupal, CMS Expo

IE8 and Lower

● Polyfill: a javascript shim that replicates the standard API for older browsers (e.g. for media queries, border radius, etc).

● respond.js● adapt.js – doesn’t serve stuff until it can be used

by the browser (good for bandwidth)● modernizr

Page 16: Responsive Web Design for Drupal, CMS Expo

Viewport Sizes

Page 17: Responsive Web Design for Drupal, CMS Expo

Adaptive Navigation

Page 18: Responsive Web Design for Drupal, CMS Expo

Responsive Media Handling● This is not solved yet. We’re still working on what a “best practice” is.

● Typically a JS script determines screen size and reports back to the server.

● Server then gives predetermined “low bandwidth” content.

● However, small screen doesn't always mean “low bandwidth.” It's just easier to make that assumption.

● e.g. http://drupal.org/project/responsive_images

Page 19: Responsive Web Design for Drupal, CMS Expo

Your Responsive Toolkit

Check out your handout for resources.

Page 20: Responsive Web Design for Drupal, CMS Expo

Summary● Responsive web sites are “just” sites that squish

down politely.● The technology is harder because of our

expectations of delivering perfect content.● By using existing libraries we can provide an

acceptable experience to browsers that don't support modern tech.

Page 21: Responsive Web Design for Drupal, CMS Expo

Drupal ThemesProvides “overrides” for any CSS or HTML markup in Drupal core or contrib modules. Occasionally add additional effects.

Page 22: Responsive Web Design for Drupal, CMS Expo

Base Themes Drupal● Base themes are a set of improved theming

defaults over Drupal core.● If your base theme doesn't improve Drupal, it's not

the right base theme for you.● http://www.designtotheme.com/blog/base-themes

Page 23: Responsive Web Design for Drupal, CMS Expo

My Fave Base Themes● Zen has amazing documentation. Use with

Zen Grids for maximum efficiency.● NineSixty is my go-to theme for quickly banging

out just about any theme.● Fusion is my go-to theme when I will be handing off

the site to someone else to maintain who is tech savvy and may need to update the layout later on.

Page 24: Responsive Web Design for Drupal, CMS Expo

Responsive + Drupal = ?● Creating a responsive Drupal site can be as simple

as applying a single style sheet.● http://drupal.org/project/domicile_responsive

Page 25: Responsive Web Design for Drupal, CMS Expo

Planning the Retrofit

● Audit the content on the site.● Identify content break points.● Determine page element

characteristics for each new width.● Bonus: allocate time for retrofit based

on visitor stats.

Page 26: Responsive Web Design for Drupal, CMS Expo

Planning the Retrofit

● Identify the goal of every type of page. “Beauty” is not a page goal. (And if it is, you’re doing it wrong.)

● Audit the content on the site.● Identify content break points.● Determine page element characteristics

for each new width.● Bonus: allocate time for retrofit based on

visitor browser stats.

Page 27: Responsive Web Design for Drupal, CMS Expo

Content Audit

● Find all the different kinds of things you display on the site.

● Make a spreadsheet if you have a big site.● If relevant, note the contextual

relationships of content pieces (e.g. user picture + video submission).

Page 28: Responsive Web Design for Drupal, CMS Expo

Identify Break Points

● Retrofit is (sort of) a luxury because you have real content.

● Use content, not device sizes, to determine break points.

● Stretch / expand your browser to find where the design “breaks”.

Page 29: Responsive Web Design for Drupal, CMS Expo

Domicile – Original Design

Page 30: Responsive Web Design for Drupal, CMS Expo

Domicile – under 960px

Page 31: Responsive Web Design for Drupal, CMS Expo

Domicile – under 750px

Page 32: Responsive Web Design for Drupal, CMS Expo

Domicile – under 600px

Page 33: Responsive Web Design for Drupal, CMS Expo

Page Element Characteristics

● Navigation (reflow)● Font sizes (allow to adapt)● Imagery (is it necessary to

accomplish page goals?)

Page 34: Responsive Web Design for Drupal, CMS Expo

Flexible Layouts

● Add a new CSS file to your theme that will override fixed-pixel #ID and .class properties.

stylesheets[all][] = responsive­default.css

Page 35: Responsive Web Design for Drupal, CMS Expo

Media Queries

● Based on your content’s break points, set up the media queries in your new CSS file.

@media screen and (max­width: 960px) {}

● Assign new properties and values for containers, fonts and navigation.

Page 36: Responsive Web Design for Drupal, CMS Expo

Revised – Below 960px

Page 37: Responsive Web Design for Drupal, CMS Expo

Revised – Below 750px

Page 38: Responsive Web Design for Drupal, CMS Expo

Revised – Below 650px

Page 39: Responsive Web Design for Drupal, CMS Expo

Below 650px With Nav Fix

Page 40: Responsive Web Design for Drupal, CMS Expo

Flexible Content

● Reset fixed-width content to be fluid.

● Images, Forms, Video● Maybe also data tables.

Page 41: Responsive Web Design for Drupal, CMS Expo

Viewport Sizes

● Create a new template file html.tpl.php

● Add the relevant meta tags● Don’t forget to clear Drupal’s

cache

Page 42: Responsive Web Design for Drupal, CMS Expo

Maybe Support IE

● Choose and use a polyfill.● e.g. respond.js

Page 43: Responsive Web Design for Drupal, CMS Expo

Test Your Site

● Check content reflows.● Check rich media resizes.● Check navigation is usable.● Adjust CSS if necessary.

Page 44: Responsive Web Design for Drupal, CMS Expo

Retrofit Summary● Define your goals for each page.● Ensure your page goals can be

met for a variety of device sizes.● Apply relevant CSS media

queries to ensure content “squishes”.

Page 45: Responsive Web Design for Drupal, CMS Expo

Working with Fusion

Page 46: Responsive Web Design for Drupal, CMS Expo

Get It For Yourself

The responsive Drupal theme, Alloy, is available from:http://drupal.org/project/alloy

Page 47: Responsive Web Design for Drupal, CMS Expo

Fusion

● Uses 960gs with 12 columns by default.● Uses more than just regions for layout.● Uses “skins” to alter the properties of

blocks for layout.● Most configuration done through the

admin interface.● Well documented.

Page 48: Responsive Web Design for Drupal, CMS Expo

DisclaimerFusion is my favourite GUI-based base theme.● I love their team of developers.● The skins are great for clients who want

to extend their site.● They don’t rush to market with the latest

feature. They get it right the first time.

Page 49: Responsive Web Design for Drupal, CMS Expo

Responsive Features● Flexible layouts.● Sane media queries with four layouts.● Context-aware forms. Need to add responsiveness

for rich media.● Supports older browsers with polyfill css3-

mediaqueries.js● Focuses on “show all” approach, so there are no

hidden elements eating up bandwidth.

Page 50: Responsive Web Design for Drupal, CMS Expo

Layouts● Desktop only screen and (min-width:1200px)

● Tablet (landscape) only screen and (max-device-width: 1024px) and (orientation:landscape), only screen and (min-width:960px) and (max-width:1199px) and (min-device-width: 1100px)

● Tablet (portrait) only screen and (max-device-width: 1024px) and (orientation:portrait), only screen and (min-width:768px) and (max-width:959px) and (min-device-width: 1100px)

● Mobile only screen and (max-width:759px)

● These can all be easily adjusted in the UI.

Page 51: Responsive Web Design for Drupal, CMS Expo

Regions + Blocks

● Fusion relies on the 960gs for its regions and block configurations.

● You may subdivide any region into more columns by assigning the width of a block.

Page 52: Responsive Web Design for Drupal, CMS Expo

Default Layout

Page 53: Responsive Web Design for Drupal, CMS Expo

Alloy Design

Page 54: Responsive Web Design for Drupal, CMS Expo

Wireframe

Page 55: Responsive Web Design for Drupal, CMS Expo

Alloy Responsive● Fusion compresses the wireframe for

desktop -> tablet. ● The mobile layout is linearized.● You can choose the position of the sidebars

through the UI for each of the layouts.● With additional CSS you might want to

collapse / linearize regions for the the tablet – portrait display.

Page 56: Responsive Web Design for Drupal, CMS Expo

Desktop (1200px)

Page 57: Responsive Web Design for Drupal, CMS Expo

Tablet – Landscape (960px)

Page 58: Responsive Web Design for Drupal, CMS Expo

Tablet – Portrait (768px)

Page 59: Responsive Web Design for Drupal, CMS Expo

Mobile

Page 60: Responsive Web Design for Drupal, CMS Expo

Applying Skins

Page 61: Responsive Web Design for Drupal, CMS Expo

Applying Grid Width Skins

Page 62: Responsive Web Design for Drupal, CMS Expo

Applying Layout Skins

Page 63: Responsive Web Design for Drupal, CMS Expo

Navigation

● Using superfish JS library.● No additional adjustments are made

for mobile-friendly navigation. ● You can make these adjustments

based on the Domicile retrofit.● Or look at the beta superfish options

for touch-friendly navigation.

Page 64: Responsive Web Design for Drupal, CMS Expo

Get It For Yourself

The responsive Drupal theme, Alloy, is available from:http://drupal.org/project/alloy

Page 65: Responsive Web Design for Drupal, CMS Expo

Give Aways!

www.responsivewebdesignguild.com

@[email protected]