Your SlideShare is downloading. ×
0
CSS Systems
CSS Systems
CSS Systems
CSS Systems
CSS Systems
CSS Systems
CSS Systems
CSS Systems
CSS Systems
CSS Systems
CSS Systems
CSS Systems
CSS Systems
CSS Systems
CSS Systems
CSS Systems
CSS Systems
CSS Systems
CSS Systems
CSS Systems
CSS Systems
CSS Systems
CSS Systems
CSS Systems
CSS Systems
CSS Systems
CSS Systems
CSS Systems
CSS Systems
CSS Systems
CSS Systems
CSS Systems
CSS Systems
CSS Systems
CSS Systems
CSS Systems
CSS Systems
CSS Systems
CSS Systems
CSS Systems
CSS Systems
CSS Systems
CSS Systems
CSS Systems
CSS Systems
CSS Systems
CSS Systems
CSS Systems
CSS Systems
CSS Systems
CSS Systems
CSS Systems
CSS Systems
CSS Systems
CSS Systems
CSS Systems
CSS Systems
CSS Systems
CSS Systems
CSS Systems
CSS Systems
CSS Systems
CSS Systems
CSS Systems
CSS Systems
CSS Systems
CSS Systems
CSS Systems
CSS Systems
CSS Systems
CSS Systems
CSS Systems
CSS Systems
CSS Systems
CSS Systems
CSS Systems
CSS Systems
CSS Systems
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

CSS Systems

93,185

Published on

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 …

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.

Published in: Technology, Education
7 Comments
259 Likes
Statistics
Notes
No Downloads
Views
Total Views
93,185
On Slideshare
0
From Embeds
0
Number of Embeds
49
Actions
Shares
0
Downloads
2,419
Comments
7
Likes
259
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  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

×