designing css layouts for the flexible web

62
Designing CSS Layouts for the Flexible Web July 18, 2009 The CSS Summit Zoe Mickley Gillenwater

Upload: zoe-gillenwater

Post on 20-Aug-2015

3.413 views

Category:

Design


3 download

TRANSCRIPT

Page 1: Designing CSS Layouts for the Flexible Web

Designing CSS Layouts for the Flexible WebJuly 18, 2009The CSS SummitZoe Mickley Gillenwater

Page 2: Designing CSS Layouts for the Flexible Web

A little about me• Author of Flexible Web Design: Creating

Liquid and Elastic Layouts with CSS• Author of lynda.com video course Web

Accessibility Principles• Freelance web and print designer,

HTML/CSS developer, consultant• Member, Adobe Task Force of Web

Standards Project (WaSP)

Page 3: Designing CSS Layouts for the Flexible Web

What is flexible design?• Overall width is not fixed number of pixels• Liquid (aka fluid)• Elastic• Hybrid

Page 4: Designing CSS Layouts for the Flexible Web

Liquid

Width adapts to viewport

Page 5: Designing CSS Layouts for the Flexible Web

Elastic

Width adapts to text size

Page 6: Designing CSS Layouts for the Flexible Web

Hybrid

Mixture of fixed-width, liquid, and/or elastic for column widths

Page 7: Designing CSS Layouts for the Flexible Web

Why bother?

Page 8: Designing CSS Layouts for the Flexible Web

Why bother?

Why not?Why choose fixed-width when web is flexible by default?

Page 9: Designing CSS Layouts for the Flexible Web

Don’t swim upstream Don’t swim upstream if you don’t have toif you don’t have to

Image from flickr, “swimming upstream” by tempo

Page 10: Designing CSS Layouts for the Flexible Web

Benefits of flexible layouts

Respect user preferences

Preserve design proportions

Take advantage of screen real estate

Increased typographic control

Less chance of horizontal scrollbars

Increased usability, readability, and accessibility

ElasticLiquid

Page 11: Designing CSS Layouts for the Flexible Web

Work well and look good for Work well and look good for a larger number of people a larger number of people a greater amount of the timea greater amount of the time

Image from Flickr, “Cal crowds for inauguration screening” by maxpixpix

Page 12: Designing CSS Layouts for the Flexible Web

Design differently from the start

• Not every comp (aka mock-up) can be turned into liquid or elastic layout

• Learn which design features aren’t “flexible-friendly” and how to change them so they are

Page 13: Designing CSS Layouts for the Flexible Web

Goals of this presentation

Fixed-width designer:Make designs more adaptive to user preferences

Page 14: Designing CSS Layouts for the Flexible Web

Goals of this presentation

Fixed-width designer:Make designs more adaptive to user preferences

Flexible designer:Know what to watch out for/plan for in comps to make construction easier, layout more robust

Page 15: Designing CSS Layouts for the Flexible Web

Goals of this presentation

Fixed-width designer:Make designs more adaptive to user preferences

Flexible designer:Know what to watch out for/plan for in comps to make construction easier, layout more robust

Non-designer:Identify problematic design elements to convince designer to change or tweak yourself

Page 16: Designing CSS Layouts for the Flexible Web

Not just avoiding fixed widths

No fixed heights for anything containing text

Page 17: Designing CSS Layouts for the Flexible Web

Width affects height

Page 18: Designing CSS Layouts for the Flexible Web

Width affects height

Liquid:Change in viewport width

Text wraps differently

Change in number of lines of text

Change in height of block text sits in

Page 19: Designing CSS Layouts for the Flexible Web

Width affects height

Liquid: Elastic:Change in viewport width

Text wraps differently

Change in number of lines of text

Change in height of block text sits in

Change in font size

Change in height of text characters

Change in height of block text sits in

Page 20: Designing CSS Layouts for the Flexible Web

Avoid:

Irregular shapes defining a text area

#1

Page 21: Designing CSS Layouts for the Flexible Web

Example:

The Lippincott, www.thelippincott.net (site currently down)

Irregular shapes defining a text area

Page 22: Designing CSS Layouts for the Flexible Web

Example:

Mostly Lisa, www.mostlylisa.com (since redesigned)

Irregular shapes defining a text area

Page 23: Designing CSS Layouts for the Flexible Web

Example:

Scrapbook Your Memories, http://scrapbookyourmemories.myshopify.com

Example:

Irregular shapes defining a text area

Page 24: Designing CSS Layouts for the Flexible Web

Example:

Scrapbook Your Memories, http://scrapbookyourmemories.myshopify.com

Irregular shapes defining a text area

Page 25: Designing CSS Layouts for the Flexible Web

Are we stuck with only Are we stuck with only straight rectangles?straight rectangles?

Image from flickr, “Rectangle” by Ikhlasul Amal

Page 26: Designing CSS Layouts for the Flexible Web

Solution: Tile irregular patternIrregular shapes defining a text area

Miracles in Africa, www.miraclesinafrica.org

Page 27: Designing CSS Layouts for the Flexible Web

Solution: Tile irregular pattern

Simon Wiffen, www.simonwiffen.co.uk

Irregular shapes defining a text area

Page 28: Designing CSS Layouts for the Flexible Web

Solution: Tile straight piece

Neurotic, Web Design page, http://en.neuroticweb.com/web-design

Irregular shapes defining a text area

Page 29: Designing CSS Layouts for the Flexible Web

Avoid:

Text matched with images that can’t expand

#2

Page 30: Designing CSS Layouts for the Flexible Web

Example:

etonDIGITAL, www.etondigital.com

Text matched with images that can’t expand

Page 31: Designing CSS Layouts for the Flexible Web

Pick the right imagesPick the right images

Image from flickr, “June 10, 2006: Picked!” by Matt McGee

Page 32: Designing CSS Layouts for the Flexible Web

Solution: Masked images

Sesame Communications, www.sesamecommunications.com

Text matched with images that can’t expand

Page 33: Designing CSS Layouts for the Flexible Web

Solution: Masked images

Usolab, www.usolab.com

Text matched with images that can’t expand

Use the proper CSS to ensure text has enough space to sit in

Page 34: Designing CSS Layouts for the Flexible Web

Solution: Masked images

Anchoring the background image:div { padding: 20px 20px 100px 20px;

background: #fff url(image.jpg) no-repeat bottom left;}

Text matched with images that can’t expand

Page 35: Designing CSS Layouts for the Flexible Web

Solution: Variable cropping

Erskine Corporation, www.erskinecorp.com (since redesigned)

Text matched with images that can’t expand

CSS technique, but requires designing with right type of images

Page 36: Designing CSS Layouts for the Flexible Web

Solution: Variable cropping

Background image:div {

width: 50%;min-height: 100px;background: url(image.jpg) no-repeat;}

<div></div>

Foreground image:div {

width: 50%;min-height: 100px;overflow: hidden;}

<div><img src="image.jpg" width="500" height="100" alt="text"></div>

Text matched with images that can’t expand

Page 37: Designing CSS Layouts for the Flexible Web

Solution: Variable croppingCan stitch together multiple to make longer

Dartmouth College, www.dartmouth.edu

Text matched with images that can’t expand

Page 38: Designing CSS Layouts for the Flexible Web

Solution: Blend into background

Air Adventure Australia, www.airadventure.com.au

Text matched with images that can’t expand

Page 39: Designing CSS Layouts for the Flexible Web

Solution: Blend into background

Defacto, www.defacto-cms.com

Text matched with images that can’t expand

Page 40: Designing CSS Layouts for the Flexible Web

Solution: Scalable images

Castello di Bolgheri, www.castellodibolgheri.eu

Text matched with images that can’t expand

CSS technique, but requires designing with right type of images

Page 41: Designing CSS Layouts for the Flexible Web

Solution: Scalable images

Liquid image:img {

width: 50%;}

<img src="image.jpg" alt="text">

Elastic image:img {

width: 20em;}

<img src="image.jpg" alt="text">

Text matched with images that can’t expand

Page 42: Designing CSS Layouts for the Flexible Web

Avoid:

Fixed-width, full-width content

#3

Page 43: Designing CSS Layouts for the Flexible Web

Example:

Roseville Health & Wellness Center, Personal Training page, www.rosevillehwc.com/personalTraining.php

Fixed-width, full-width content

Page 44: Designing CSS Layouts for the Flexible Web

Example:

Roseville Health & Wellness Center, www.rosevillehwc.com

Fixed-width, full-width content

Page 45: Designing CSS Layouts for the Flexible Web

Solution: Non-full-width images

Todd Silver Design, www.toddsilverdesign.net

Fixed-width, full-width content

Page 46: Designing CSS Layouts for the Flexible Web

Solution: Composite images

Ronin Snowboards, www.roninsnowboards.com (since redesigned)

Fixed-width, full-width content

Page 47: Designing CSS Layouts for the Flexible Web

Solution: Composite images

Ronin Snowboards, www.roninsnowboards.com (since redesigned)

Fixed-width, full-width content

Page 48: Designing CSS Layouts for the Flexible Web

Solution: Composite images<div id="outer"><div id="inner">...</div></div>

#outer { background: url(leftimage.png) no-repeat bottom left; }#inner { background: url(rightimage.png) no-repeat bottom right; }

Text matched with images that can’t expand

Page 49: Designing CSS Layouts for the Flexible Web

Solution: Scrollbars for large content

Bokardo, http://bokardo.com

Fixed-width, full-width content

CSS technique using overflow property

Page 50: Designing CSS Layouts for the Flexible Web

Solution: Scrollbars for large contentdiv {

overflow: auto;}

<div><img src="image.jpg" alt="text" width="600" height="400"></div>

Fixed-width, full-width content

Page 51: Designing CSS Layouts for the Flexible Web

Avoid:Horizontal alignment across columns

#4

Page 52: Designing CSS Layouts for the Flexible Web

Example:Horizontal alignment across columns

Cafédirect, www.cafedirect.co.uk

Page 53: Designing CSS Layouts for the Flexible Web

Example:Horizontal alignment across columns

Cafédirect, www.cafedirect.co.uk

Page 54: Designing CSS Layouts for the Flexible Web

Example:Horizontal alignment across columns

UX Magazine, www.uxmag.com

Page 55: Designing CSS Layouts for the Flexible Web

Solution: Accept misalignmentHorizontal alignment across columns

The Open University, Continuing Professional Development home page, www.open.ac.uk/cpd

Page 56: Designing CSS Layouts for the Flexible Web

Summary of what to avoid:• Irregular shapes defining a text area• Text matched with images that can’t

expand• Fixed-width, full-width content• Horizontal alignment across columns

Page 57: Designing CSS Layouts for the Flexible Web

Cute Cat Theory of the WebWeb 1.0 was invented to allow physicists to share research papers

Ethan Zuckermanhttp://www.ethanzuckerman.com/blog/2008/03/08/the-cute-cat-theory-talk-at-etech/

Web 2.0 was created to allow people to share pictures of cute cats

Page 58: Designing CSS Layouts for the Flexible Web

What’s wrong with this picture?

Page 59: Designing CSS Layouts for the Flexible Web

A more flexible-friendly version

Page 60: Designing CSS Layouts for the Flexible Web

How it might look narrower

Page 61: Designing CSS Layouts for the Flexible Web

Learn moreDownload slides, get links:www.zomigi.com/blog/css-summit

Flexible design inspiration:www.zomigi.com/blog/inspiration-for-flexible-web-design

Book:www.flexiblewebbook.com

Page 62: Designing CSS Layouts for the Flexible Web

Questions?

Zoe Mickley [email protected]