Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
WRITING MAINTAINABLE CSS
Natalie Downe | Barcamp London 5




                                   28th September 2008
     ...
WRITING MAINTAINABLE CSS
Natalie Downe | Barcamp London 5




                                   28th September 2008
     ...
CSS SYSTEMS
Natalie Downe | Barcamp London 5




                                   28th September 2008
                  ...
I am an optimist


                   4
so I am going to
  assume that


                   5
you already write beautiful and valid markup
                                               6
you use semantic markup & class / id names
                                             7
you separate content, presentation & behavior
                                                8
because you care


                   9
Maintainability in CSS?


                          10
It’s not a solved
     problem.


                    11
It’s not just about
     the future


                      12
It’s about now


                 13
CLEARLEFT

High quality code
To tight deadlines
For handover to external developers




                                  ...
CSS SYSTEMS

              15
A CSS SYSTEM IS...

a top down approach

personalised for an individual site

a reusable set of markup patterns and CSS

l...
ORDERING

Rule blocks are loosely ordered by specificity,

  Elements, grouped by type of tag

  Classes, grouped by the ef...
GROUPING

general styles
   body styles
   reset
   links
   headings
   other elements, tags
helper styles
   forms
   no...
GROUPING

general styles
   body styles
   reset
   links
   headings
   other elements, tags
helper styles
   forms
   no...
CSS Edit
macrabbit.com/cssedit

                        20
CSS Edit
macrabbit.com/cssedit

                        21
CONDITIONAL COMMENTS

Never use browser hacks

Browser specific stylesheets for all versions of IE and
another for IE6 and ...
please look
  to my right
for a moment


                23
please look
  to my right
for a moment




                24
BEFORE YOU START
  So I have a design ... what now?

                                     25
look at the basics


                     26
will it be liquid?
elastic? or fixed?


                     27
MAINTAINABLE LAYOUT


if you are using an em or fixed width layout, try to only
set a width on the container, using percent...
29
the grid


           30
draw diagrams
                31
lots of diagrams
                   32
make calculations
                    33
get inventive
                34
levels of headings


                     35
36
page structure
and components


                  37
38
39
40
MAINTAINABILITY MYTHS
  Any existing ‘best practices’ or approaches?

                                                 41
CSS frameworks
                 42
Single line declaration blocks
                                 43
Selector based indentation
                             44
colour.css / layout.css / typography.css
                                           45
ON YOUR MARKS ...
You have your design and your plan - you’re all set!

                                                  ...
use the cascade
                  47
div#page div.teaser ul.products li p.name




                                            48
ul.products p.name




                     49
you love to float
                   50
shorthand?
             51
p { font: 12px/14px sans-serif }
p { font: 80% sans-serif }
p { font: x-large/110% quot;New Century Schoolbookquot;, serif...
53
background: url(quot;w00t.pngquot;) orange 0 50% repeat fixed;




                                                        ...
background: lime;




                    55
background: url(quot;rofl.gifquot;);




                              56
background-color: lime;


background-image: url(quot;rofl.pngquot;);




                                    57
PREPARE FOR THE WORST
  n00bs will one day be let loose on your code
                   (accept it)
                      ...
clear your footer


                    59
careful with
dimensions


               60
watch your height


                    61
hooks


        62
editable content


                   63
sanitise text


                64
abstract your icons


                      65
DESIGN TO AVOID DEBUGGING
     engineer your way around the browser

                                            66
Simultaneously develop
                         67
dont re-engineer
seperate solutions


                     68
floating


          69
you need to set
psuedo selectors on
       links

                      70
buttons


          71
review


         72
HANDOVER
what to give the client

                          73
THE IDEAL HANDOVER INCLUDES


The markup scheme, a set of files demonstrating
the different markup components

The CSS itse...
FINALLY




          75
ITS ALL ABOUT THE SYSTEM



define it
develop it
maintain it
communicate it
                           76
THANK YOU




            77
?   78
You’ve finished this document.
Download and read it offline.
Upcoming SlideShare
Efficient, maintainable CSS
Next
Upcoming SlideShare
Efficient, maintainable CSS
Next
Download to read offline and view in fullscreen.

Share

CSS Systems

Download to read offline

http://natbat.net/2008/Sep/28/css-systems/ - A CSS System is a reusable set of content-oriented markup patterns and associated CSS created to express a site's individual design. It is the end result of a process that emphasizes up-front planning, loose coupling between CSS and markup, pre-empting browser bugs and overall robustness. It also incorporates a shared vocabulary for developers to communicate the intent of the code. This talk elaborates on this concept, and also describes a number of tricks I use to pre-empt maintainability issues.

Originally presented at BarCamp London 5 in Richmond on the 28th of September 2008.

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all

CSS Systems

  1. WRITING MAINTAINABLE CSS Natalie Downe | Barcamp London 5 28th September 2008 1
  2. WRITING MAINTAINABLE CSS Natalie Downe | Barcamp London 5 28th September 2008 2
  3. CSS SYSTEMS Natalie Downe | Barcamp London 5 28th September 2008 3
  4. I am an optimist 4
  5. so I am going to assume that 5
  6. you already write beautiful and valid markup 6
  7. you use semantic markup & class / id names 7
  8. you separate content, presentation & behavior 8
  9. because you care 9
  10. Maintainability in CSS? 10
  11. It’s not a solved problem. 11
  12. It’s not just about the future 12
  13. It’s about now 13
  14. CLEARLEFT High quality code To tight deadlines For handover to external developers 14
  15. CSS SYSTEMS 15
  16. A CSS SYSTEM IS... a top down approach personalised for an individual site a reusable set of markup patterns and CSS looking at the overall stucture and individual components glossary of shared vocabulary for developers 16
  17. ORDERING Rule blocks are loosely ordered by specificity, Elements, grouped by type of tag Classes, grouped by the effect they create IDs, grouped by the component they affect 17
  18. GROUPING general styles body styles reset links headings other elements, tags helper styles forms notifications and errors consistant items with normally just one class page structure skeleton including page furniture, page components most of your styles will be in here overrides 18
  19. GROUPING general styles body styles reset links headings other elements, tags helper styles forms notifications and errors consistant items with normally just one class page structure skeleton including page furniture, page components most of your styles will be in here overrides 19
  20. CSS Edit macrabbit.com/cssedit 20
  21. CSS Edit macrabbit.com/cssedit 21
  22. CONDITIONAL COMMENTS Never use browser hacks Browser specific stylesheets for all versions of IE and another for IE6 and under If you have to entirely re-engineer for IE, overriding your standards ready CSS in a conditional comment, you’re Doing It Wrong 22
  23. please look to my right for a moment 23
  24. please look to my right for a moment 24
  25. BEFORE YOU START So I have a design ... what now? 25
  26. look at the basics 26
  27. will it be liquid? elastic? or fixed? 27
  28. MAINTAINABLE LAYOUT if you are using an em or fixed width layout, try to only set a width on the container, using percentages inside a max-width of 100% will stop your layout creeping out the side of the viewport up and down font size all the time be afraid of heights, vertigo is healthy on the web. NEVER use height in px on anything with text inside 28
  29. 29
  30. the grid 30
  31. draw diagrams 31
  32. lots of diagrams 32
  33. make calculations 33
  34. get inventive 34
  35. levels of headings 35
  36. 36
  37. page structure and components 37
  38. 38
  39. 39
  40. 40
  41. MAINTAINABILITY MYTHS Any existing ‘best practices’ or approaches? 41
  42. CSS frameworks 42
  43. Single line declaration blocks 43
  44. Selector based indentation 44
  45. colour.css / layout.css / typography.css 45
  46. ON YOUR MARKS ... You have your design and your plan - you’re all set! 46
  47. use the cascade 47
  48. div#page div.teaser ul.products li p.name 48
  49. ul.products p.name 49
  50. you love to float 50
  51. shorthand? 51
  52. p { font: 12px/14px sans-serif } p { font: 80% sans-serif } p { font: x-large/110% quot;New Century Schoolbookquot;, serif } p { font: bold italic large Palatino, serif } p { font: normal small-caps 120%/120% fantasy } 52
  53. 53
  54. background: url(quot;w00t.pngquot;) orange 0 50% repeat fixed; 54
  55. background: lime; 55
  56. background: url(quot;rofl.gifquot;); 56
  57. background-color: lime; background-image: url(quot;rofl.pngquot;); 57
  58. PREPARE FOR THE WORST n00bs will one day be let loose on your code (accept it) 58
  59. clear your footer 59
  60. careful with dimensions 60
  61. watch your height 61
  62. hooks 62
  63. editable content 63
  64. sanitise text 64
  65. abstract your icons 65
  66. DESIGN TO AVOID DEBUGGING engineer your way around the browser 66
  67. Simultaneously develop 67
  68. dont re-engineer seperate solutions 68
  69. floating 69
  70. you need to set psuedo selectors on links 70
  71. buttons 71
  72. review 72
  73. HANDOVER what to give the client 73
  74. THE IDEAL HANDOVER INCLUDES The markup scheme, a set of files demonstrating the different markup components The CSS itself Supporting documents that explain the system as clearly as possible A face to face meeting if possible 74
  75. FINALLY 75
  76. ITS ALL ABOUT THE SYSTEM define it develop it maintain it communicate it 76
  77. THANK YOU 77
  78. ? 78
  • 62kyaw

    Feb. 18, 2018
  • tylervs5

    Oct. 26, 2017
  • HatimBaloch1

    Jul. 23, 2017
  • ranjith8653

    Jul. 6, 2017
  • MdMahafuzurRahaman

    Jun. 21, 2016
  • nahuel31

    Feb. 11, 2016
  • GeorgiGeorgiev97

    Feb. 9, 2016
  • hafley66

    Jan. 20, 2016
  • s3rgiosan

    Jan. 19, 2016
  • AddisonStaples

    Dec. 1, 2015
  • charlenopires

    Nov. 18, 2015
  • ssuser57418e

    Nov. 2, 2015
  • Colin_123

    Oct. 30, 2015
  • AndreaCattani1

    Sep. 23, 2015
  • justinschmidt80

    Jun. 21, 2015
  • slippyd

    Jun. 5, 2015
  • JacobMcDaniel

    Apr. 21, 2015
  • bdicaire

    Mar. 30, 2015
  • evrenk

    Mar. 18, 2015
  • janjagoda

    Mar. 4, 2015

http://natbat.net/2008/Sep/28/css-systems/ - A CSS System is a reusable set of content-oriented markup patterns and associated CSS created to express a site's individual design. It is the end result of a process that emphasizes up-front planning, loose coupling between CSS and markup, pre-empting browser bugs and overall robustness. It also incorporates a shared vocabulary for developers to communicate the intent of the code. This talk elaborates on this concept, and also describes a number of tricks I use to pre-empt maintainability issues. Originally presented at BarCamp London 5 in Richmond on the 28th of September 2008.

Views

Total views

164,147

On Slideshare

0

From embeds

0

Number of embeds

45,005

Actions

Downloads

2,513

Shares

0

Comments

0

Likes

266

×