Give developers more knowledge about how the classes behave in a non-relative sense: BEM + ITCSS = BEMIT
BEM:
.block__element--modifier {}
BEM w/ Namespaces:
.namespace-block__element--modifier {}
BEM w/ Namespaces & Responsive Suffixes:
.namespace-block__element--modifier\@suffix {}
Object
.o-object-name[<element>|<modifier>] {}
Component
.c-component-name[<element>|<modifier>] {}
Utility
.u-utility-name {}
Theme
.t-theme-name {}
Scope
.s-scope-name {}
State
.[is|has]-state {}
Hack
._<namespace>hack-name {}
Javascript
.js-component-name {}
Quality Assurance
.qa-node-name {}
Breakpoints
.o-object-name\@sm {}
.o-object-name\@md {}
.o-object-name\@lg {}
Media type
.u-utility-name\@print {}