efficient, maintainable css

24
CSS efficient maintainable, modular

Upload: russ-weakley

Post on 28-Jan-2015

130 views

Category:

Technology


0 download

DESCRIPTION

Many web sites have moved away from table based layouts to CSS. But what about the longer term? Is you CSS efficient, maintainable and modular? Find out about taking your CSS to the next level.

TRANSCRIPT

Page 1: Efficient, maintainable CSS

CSSefficientmaintainable, modular

Page 2: Efficient, maintainable CSS

Here are some quick tips for creating efficient,

maintainable CSS.

Page 3: Efficient, maintainable CSS

Applying CSS

Page 4: Efficient, maintainable CSS

1. Avoid using inline styles as they are hard to maintain and

increase file size.

<body><h2 style=“color: red;”>! Heading here</h2>

Avoid

Page 5: Efficient, maintainable CSS

2. Avoid using header styles as they are also hard to maintain

and increase file size.

<style>p { color: red; }

</style>

Avoid

Page 6: Efficient, maintainable CSS

3. Avoid using @import within the HTML as this will slow down

IE browsers.

<style>@import "a.css";

</style>

Avoid

Page 7: Efficient, maintainable CSS

4. Avoid using multiple CSS files, or use a script to combine

all CSS files into one.

<link rel="stylesheet" href=”reset.css"> <link rel="stylesheet" href=”grids.css"><link rel="stylesheet" href=”text.css"><link rel="stylesheet" href=”modules.css"> <link rel="stylesheet" href=”colors.css">

Avoid

Page 8: Efficient, maintainable CSS

Writing CSS rules

Page 9: Efficient, maintainable CSS

5. Use multiple declarations where possible

p{! margin: 0 0 1.5em;! background: green;}

Page 10: Efficient, maintainable CSS

6. Use multiple selectors where possible

h1, h2, h3, h4, h5{! color: #666;! margin: 0 0 .5em;}

Page 11: Efficient, maintainable CSS

7. Use shorthand properties where possible.

body {margin-top: 20px;margin-right: 10px;margin-bottom: 20px;margin-left: 10px;

}

body { margin: 20px 10px; }

Avoid

Preferred

Page 12: Efficient, maintainable CSS

8. Avoid !important as it is often unnecessary.

p { margin: 0 !important; }

Avoid

Page 13: Efficient, maintainable CSS

9. Avoid complex selectors. Try to be only as specific as

needed.

.nav ul li a { margin: 0; }

.nav a { margin: 0; }

Avoid

Preferred

Page 14: Efficient, maintainable CSS

10. Avoid universal selectors due to performance issues.

.nav * { margin: 0; }

Avoid

Page 15: Efficient, maintainable CSS

11. Avoid qualifying selectors as this is often unnecessary.

div.nav { }

.nav { }

Avoid

Preferred

Page 16: Efficient, maintainable CSS

12. Avoid IE-proprietary filters as they slow page performance.

filter:Alpha(Opacity=40);-ms-filter: "Alpha(Opacity=40)";

Avoid

Page 17: Efficient, maintainable CSS

13. Avoid IDs. Where possible, use classes instead.

#header { ... }

.header { ... }

Avoid

Preferred

Page 18: Efficient, maintainable CSS

14. Try not to use use too many font-size declarations.

h1 { font-size: 200%; }.nav { font-size: 80%; }.widget { font-size: 70%; }.intro { font-size: 110%; }.sidebar { font-size: 85%; }

Avoid

Page 19: Efficient, maintainable CSS

Optimisation

Page 20: Efficient, maintainable CSS

15. Use a CSS minifier to reduce your overall CSS file

size:

http://refresh-sf.com/yui/

Page 21: Efficient, maintainable CSS

16. Optimise images as much as possible

Page 22: Efficient, maintainable CSS

17. Where possible, combine images into sprites.

http://designsbynickthegeek.com/tutorials/social-menu-icon-sprites

Page 23: Efficient, maintainable CSS

18. Where possible, use CSS3 instead of images to reduce

server requests and page size.

p { background: url(round-corners.png); }

p { border-radius: 10px; }

Avoid

Preferred

Page 24: Efficient, maintainable CSS

Russ WeakleyMax Design

Site: maxdesign.com.auTwitter: twitter.com/russmaxdesignSlideshare: slideshare.net/maxdesignLinkedin: linkedin.com/in/russweakley