Ask any web developer: the most neglected part of their site/app is likely its CSS. Unlike other parts of the stack, most CSS is messy, complex, and long overdue for a rewrite. But it doesn’t have to be. Break out of these bad patterns by applying an object oriented CSS framework (OOCSS).
This talk will step through the process of designing, building, and implementing a custom OOCSS framework for a mid-sized web application, outlining the basic methodology, best practices, and expected outcomes, which include significant gains in both front-end performance as well as developer productivity.
Written transcript:
http://blog.kate-travers.com/how-oo-design-saved-our-css-and-site-performance/
13. MODULAR
Coupled to single view
Too brittle / specific to re-use
ENCAPSULATED
Specificity wars
MAINTAINABLE
14. MODULAR
Coupled to single view
Too brittle / specific to re-use
ENCAPSULATED
Specificity wars
Unpredictable behavior
MAINTAINABLE
15. MODULAR
Coupled to single view
Too brittle / specific to re-use
ENCAPSULATED
Specificity wars
Unpredictable behavior
MAINTAINABLE
16. MODULAR
Coupled to single view
Too brittle / specific to re-use
ENCAPSULATED
Specificity wars
Unpredictable behavior
MAINTAINABLE
Writing new CSS for every view
17. MODULAR
Coupled to single view
Too brittle / specific to re-use
ENCAPSULATED
Specificity wars
Unpredictable behavior
MAINTAINABLE
Writing new CSS for every view
Difficult to onboard new team members
61. /* Block component */
.list
/* Child element of parent block */
.list__card
/* Modifier that changes the style of the block */
.list--accordion
.list--spacing-large
82. QA testing: feature turned on for select user groups
Training session on rewriting existing markup
PHASE 2
83. QA testing: feature turned on for select user groups
Training session on rewriting existing markup
Identify & assign views for “hands-on learning” rewrites
PHASE 2