Introduction
The Importance of a Styleguide
Disclaimers
Syntax and Formatting
Multiple Files
Table of Contents
80 Characters Wide
Titling
Anatomy of a Ruleset
Multi-line CSS
Indenting
Indenting Sass
Alignment
Meaningful Whitespace
HTML
Commenting
High-level
Object–Extension Pointers
Low-level
Preprocessor Comments
Removing Comments
Naming Conventions
Hyphen Delimited
BEM-like Naming
Starting Context
More Layers
Modifying Elements
Naming Conventions in HTML
JavaScript Hooks
data-* Attributes
Taking It Further
CSS Selectors
Selector Intent
Reusability
Location Independence
Portability
Quasi-Qualified Selectors
Naming
Naming UI Components
Selector Performance
The Key Selector
General Rules
Specificity
IDs in CSS
Nesting
!important
Hacking Specificity
Architectural Principles
High-level Overview
Object-orientation
The Single Responsibility Principle
The Open/Closed Principle
DRY
Composition over Inheritance
The Separation of Concerns
Misconceptions