Download - Efficient, maintainable CSS

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