effective efficient design with css3zomigi.com/...efficient-design-css3_100923-wdusa.pdf ·...

37
1 Effective & Efficient Design with CSS3 September 23, 2010 Web Directions USA Zoe Mickley Gillenwater @ zomigi

Upload: others

Post on 29-Sep-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Effective Efficient Design with CSS3zomigi.com/...Efficient-Design-CSS3_100923-WDUSA.pdf · Flexible Web Design: Creating Liquid and Elastic Layouts with CSS Stunning CSS3: A Project-based

1

Effective & Efficient Design with CSS3September 23, 2010Web Directions USAZoe Mickley Gillenwater@ zomigi

Page 2: Effective Efficient Design with CSS3zomigi.com/...Efficient-Design-CSS3_100923-WDUSA.pdf · Flexible Web Design: Creating Liquid and Elastic Layouts with CSS Stunning CSS3: A Project-based

2

What I do

BooksFlexible Web Design: Creating Liquid and Elastic Layouts with CSSwww.flexiblewebbook.com

Stunning CSS3: A Project-based Guide to the Latest in CSSwww.stunningcss3.com

WebFreelance graphic designer and web developerCSS consultantMember of Adobe Task Force for WaSP

now

soon

Page 3: Effective Efficient Design with CSS3zomigi.com/...Efficient-Design-CSS3_100923-WDUSA.pdf · Flexible Web Design: Creating Liquid and Elastic Layouts with CSS Stunning CSS3: A Project-based

3

What is CSS3?

See modules at www.w3.org/Style/CSS/current-work

Page 4: Effective Efficient Design with CSS3zomigi.com/...Efficient-Design-CSS3_100923-WDUSA.pdf · Flexible Web Design: Creating Liquid and Elastic Layouts with CSS Stunning CSS3: A Project-based

4

Current status

Page 5: Effective Efficient Design with CSS3zomigi.com/...Efficient-Design-CSS3_100923-WDUSA.pdf · Flexible Web Design: Creating Liquid and Elastic Layouts with CSS Stunning CSS3: A Project-based

5

Use the parts of CSS3 that:✔ have generally stable syntax.✔ have good support.✔ don't harm non-supporting browsers by

their lack.

Page 6: Effective Efficient Design with CSS3zomigi.com/...Efficient-Design-CSS3_100923-WDUSA.pdf · Flexible Web Design: Creating Liquid and Elastic Layouts with CSS Stunning CSS3: A Project-based

6

Progressive enhancement

Page 7: Effective Efficient Design with CSS3zomigi.com/...Efficient-Design-CSS3_100923-WDUSA.pdf · Flexible Web Design: Creating Liquid and Elastic Layouts with CSS Stunning CSS3: A Project-based

7

Progressive enhancement…aims to deliver the best possible experience to the widest possible audience — whether your users are viewing your sites on an iPhone, a high-end desktop system, a Kindle, or hearing them on a screen-reader, their experience should be as fully featured and functional as possible.Designing with Progressive Enhancement,

www.filamentgroup.com/dwpe

Page 8: Effective Efficient Design with CSS3zomigi.com/...Efficient-Design-CSS3_100923-WDUSA.pdf · Flexible Web Design: Creating Liquid and Elastic Layouts with CSS Stunning CSS3: A Project-based

8

A few of the things you can use...

Photo by Kristin Roach, www.flickr.com/photos/kristinroach/3995676135

Page 9: Effective Efficient Design with CSS3zomigi.com/...Efficient-Design-CSS3_100923-WDUSA.pdf · Flexible Web Design: Creating Liquid and Elastic Layouts with CSS Stunning CSS3: A Project-based

9

border-radius

www.blueskyresumes.com, http://blog.gesteves.com, http://nicolasgallagher.com/demo/pure-css-speech-bubbles/bubbles.html

Backgrounds and Borders Module

Page 10: Effective Efficient Design with CSS3zomigi.com/...Efficient-Design-CSS3_100923-WDUSA.pdf · Flexible Web Design: Creating Liquid and Elastic Layouts with CSS Stunning CSS3: A Project-based

10

box-shadow

www.fredssoldater.se, http://chris-armstrong.com, http://girliemac.com/sandbox/button.html, http://weston.ruter.net/2009/06/15/multiple-borders-via-css-box-shadow

Backgrounds and Borders Module

Page 11: Effective Efficient Design with CSS3zomigi.com/...Efficient-Design-CSS3_100923-WDUSA.pdf · Flexible Web Design: Creating Liquid and Elastic Layouts with CSS Stunning CSS3: A Project-based

11

text-shadow

http://desandro.com, http://chunkytheme.tumblr.com, http://safe.tumblr.com/theme/preview/5932, http://sixrevisions.com/css/how-to-create-inset-typography-with-css3, , www.time2project.com

Text Module

Page 12: Effective Efficient Design with CSS3zomigi.com/...Efficient-Design-CSS3_100923-WDUSA.pdf · Flexible Web Design: Creating Liquid and Elastic Layouts with CSS Stunning CSS3: A Project-based

12

Gradients

http://designindevelopment.com/demos/grooveshark, www.broken-links.com/tests/studio_effect, www.yummly.com, http://nimbupani.com/sexy-css3-buttons.html

Image Values Module

Page 13: Effective Efficient Design with CSS3zomigi.com/...Efficient-Design-CSS3_100923-WDUSA.pdf · Flexible Web Design: Creating Liquid and Elastic Layouts with CSS Stunning CSS3: A Project-based

13

RGBA and HSLA

http://24ways.org, http://css-tricks.com/text-blocks-over-image, www.marcofolio.net/css/sweet_tabbed_navigation_using_css3.html

Color Module

Page 14: Effective Efficient Design with CSS3zomigi.com/...Efficient-Design-CSS3_100923-WDUSA.pdf · Flexible Web Design: Creating Liquid and Elastic Layouts with CSS Stunning CSS3: A Project-based

14

@ font-face

www.blueskyresumes.com, www.jasonsantamaria.com, http:// lostworldsfairs.com/atlantis, www.fredssoldater.se

Fonts Module

Page 15: Effective Efficient Design with CSS3zomigi.com/...Efficient-Design-CSS3_100923-WDUSA.pdf · Flexible Web Design: Creating Liquid and Elastic Layouts with CSS Stunning CSS3: A Project-based

15

Transforms

http://butterlabel.com, http://forabeautifulweb.com, http://girliemac.com/sandbox/dock.html, http://lab.simurai.com/css/tilt-shift

2D Transforms Module

Page 16: Effective Efficient Design with CSS3zomigi.com/...Efficient-Design-CSS3_100923-WDUSA.pdf · Flexible Web Design: Creating Liquid and Elastic Layouts with CSS Stunning CSS3: A Project-based

16

Benefits of CSS3

Decreasedevelopment timemaintenance timepage loading time

Increaseusabilityaccessibilityadaptability across devicessearch engine placement

(besides looking cool)

Page 17: Effective Efficient Design with CSS3zomigi.com/...Efficient-Design-CSS3_100923-WDUSA.pdf · Flexible Web Design: Creating Liquid and Elastic Layouts with CSS Stunning CSS3: A Project-based

17

Reduced development and maintenance time• Less images, Flash, JavaScript• Streamlined markup

Page 18: Effective Efficient Design with CSS3zomigi.com/...Efficient-Design-CSS3_100923-WDUSA.pdf · Flexible Web Design: Creating Liquid and Elastic Layouts with CSS Stunning CSS3: A Project-based

18

Increased page performance• Smaller file sizes• Fewer HTTP requests

Reducing the number of HTTP requests…is the most important guideline for improving performance for first time visitors.Yahoo! Exceptional Performance Team,

http://developer.yahoo.com/performance/rules.html

Page 19: Effective Efficient Design with CSS3zomigi.com/...Efficient-Design-CSS3_100923-WDUSA.pdf · Flexible Web Design: Creating Liquid and Elastic Layouts with CSS Stunning CSS3: A Project-based

19

Better search engine placement• Google uses speed as ranking factor• Real text instead of image or Flash text

Page 20: Effective Efficient Design with CSS3zomigi.com/...Efficient-Design-CSS3_100923-WDUSA.pdf · Flexible Web Design: Creating Liquid and Elastic Layouts with CSS Stunning CSS3: A Project-based

20

Increased usability• Real text• Optimized styles based on device

capabilities

Page 21: Effective Efficient Design with CSS3zomigi.com/...Efficient-Design-CSS3_100923-WDUSA.pdf · Flexible Web Design: Creating Liquid and Elastic Layouts with CSS Stunning CSS3: A Project-based

21

Real-world example

Page 22: Effective Efficient Design with CSS3zomigi.com/...Efficient-Design-CSS3_100923-WDUSA.pdf · Flexible Web Design: Creating Liquid and Elastic Layouts with CSS Stunning CSS3: A Project-based

22

Before CSS3

FF 3.6 IE 8 IE 6HTTP requests 36 37 47Loading time 1.5 1.3 3seconds

Page 23: Effective Efficient Design with CSS3zomigi.com/...Efficient-Design-CSS3_100923-WDUSA.pdf · Flexible Web Design: Creating Liquid and Elastic Layouts with CSS Stunning CSS3: A Project-based

23

The nav barinactive

hovered

current page indicator

Before: 8 images

Page 24: Effective Efficient Design with CSS3zomigi.com/...Efficient-Design-CSS3_100923-WDUSA.pdf · Flexible Web Design: Creating Liquid and Elastic Layouts with CSS Stunning CSS3: A Project-based

24

The nav barinactive

hovered

current page indicator

After: 1 image

Before: 8 images

Page 25: Effective Efficient Design with CSS3zomigi.com/...Efficient-Design-CSS3_100923-WDUSA.pdf · Flexible Web Design: Creating Liquid and Elastic Layouts with CSS Stunning CSS3: A Project-based

25

Before CSS3, optimized

FF 3.6 IE 8 IE 6HTTP requests 29 30 33Loading time 1.3 1.15 2

13% 11% 33%seconds

decrease

Page 26: Effective Efficient Design with CSS3zomigi.com/...Efficient-Design-CSS3_100923-WDUSA.pdf · Flexible Web Design: Creating Liquid and Elastic Layouts with CSS Stunning CSS3: A Project-based

26

After CSS3

FF 3.6 IE 8 IE 6HTTP requests 22 23 24Loading time 1.1 1 1.5

15% 13% 25%seconds

decrease

Page 27: Effective Efficient Design with CSS3zomigi.com/...Efficient-Design-CSS3_100923-WDUSA.pdf · Flexible Web Design: Creating Liquid and Elastic Layouts with CSS Stunning CSS3: A Project-based

27

IE 9 beta

Page 28: Effective Efficient Design with CSS3zomigi.com/...Efficient-Design-CSS3_100923-WDUSA.pdf · Flexible Web Design: Creating Liquid and Elastic Layouts with CSS Stunning CSS3: A Project-based

28

IE 8

Page 29: Effective Efficient Design with CSS3zomigi.com/...Efficient-Design-CSS3_100923-WDUSA.pdf · Flexible Web Design: Creating Liquid and Elastic Layouts with CSS Stunning CSS3: A Project-based

29

IE 6

Page 30: Effective Efficient Design with CSS3zomigi.com/...Efficient-Design-CSS3_100923-WDUSA.pdf · Flexible Web Design: Creating Liquid and Elastic Layouts with CSS Stunning CSS3: A Project-based

30

Wrapping tabs

Larger text + narrow window = ugly Amazon double-row tabs from 2000

Page 31: Effective Efficient Design with CSS3zomigi.com/...Efficient-Design-CSS3_100923-WDUSA.pdf · Flexible Web Design: Creating Liquid and Elastic Layouts with CSS Stunning CSS3: A Project-based

31

Media query for nav bar@media all and (max-width:52em) { #swoosh { display: none; } #mainnav { padding: 8px 0; } #mainnav ul { margin: 0; } #mainnav li { margin-left: 12px; padding: 0; border: none; -moz-border-radius: 0; -webkit-border-radius: 0; border-radius: 0; background: none; } #mainnav li:hover { background: none; }}

English translation:Up to a maximum

width of 52 ems, use

these styles. Once you

get past 52 ems, use

the regular styles.

Page 32: Effective Efficient Design with CSS3zomigi.com/...Efficient-Design-CSS3_100923-WDUSA.pdf · Flexible Web Design: Creating Liquid and Elastic Layouts with CSS Stunning CSS3: A Project-based

32

Media queries for mobilemin-widthmax-widthdevice-widthmin-device-widthmax-device-widthorientation-webkit-min-device-pixel-ratio

Page 33: Effective Efficient Design with CSS3zomigi.com/...Efficient-Design-CSS3_100923-WDUSA.pdf · Flexible Web Design: Creating Liquid and Elastic Layouts with CSS Stunning CSS3: A Project-based

33

Targeting iPhone, Android, etc.

(min-width: 320px) and (max-width: 480px)(min-device-width: 320px) and (max-device-width: 480px)(max-device-width: 480px)(min-width: 321px)(max-width: 320px)

@media screen andportrait & landscape

portrait & landscape

portrait & landscape

landscape only

portrait only

Page 34: Effective Efficient Design with CSS3zomigi.com/...Efficient-Design-CSS3_100923-WDUSA.pdf · Flexible Web Design: Creating Liquid and Elastic Layouts with CSS Stunning CSS3: A Project-based

34

Targeting iPad

(min-device-width: 768px) and (max-device-width: 1024px)(min-width: 769px)(min-device-width: 481px) and (max-device-width: 1024px) and (orientation: landscape)(min-device-width: 481px) and (max-device-width: 1024px) and (orientation: portrait)

@media screen andportrait & landscape

landscape only

landscape only

portrait only

Page 35: Effective Efficient Design with CSS3zomigi.com/...Efficient-Design-CSS3_100923-WDUSA.pdf · Flexible Web Design: Creating Liquid and Elastic Layouts with CSS Stunning CSS3: A Project-based

35

Viewport meta tagForces mobile devices to scale viewport to actual device width

<meta name="viewport" content="width=device-width, minimum-scale=1.0, maximum-scale=1.0">

Page 36: Effective Efficient Design with CSS3zomigi.com/...Efficient-Design-CSS3_100923-WDUSA.pdf · Flexible Web Design: Creating Liquid and Elastic Layouts with CSS Stunning CSS3: A Project-based

36

Learn moreDownload slides, get links:www.zomigi.com/blog/web-directions-usa/

Book:www.stunningcss3.com

Zoe Mickley Gillenwater@ zomigidesign@ zomigi.comwww.zomigi.com

Page 37: Effective Efficient Design with CSS3zomigi.com/...Efficient-Design-CSS3_100923-WDUSA.pdf · Flexible Web Design: Creating Liquid and Elastic Layouts with CSS Stunning CSS3: A Project-based

37

Questions?

Zoe Mickley Gillenwater@ zomigidesign@ zomigi.comwww.zomigi.com