Bootstrap provides classes such as text-left
(Alignment classes), text-lowercase
(Transformation classes) etc, which is the same as defining inline-styles (not technically, but logically).
In an alternative methodology such as bem
, it imposes that classes should reflect 'physical' blocks and elements, and their modifier (or the state of the element, such as active
, current
), and any styles should be applied purely in the CSS.
The Bootstrap approach seems like a poor separation of concern between structure and presentation, and goes against this W3C Tip for Webmasters.
This issue is echoed by many:
- Niko Sams - Why I don't like Twitter Bootstrap
- Paradax - Bootstrap The good, the bad and the ugly
- bvision - Please stop embedding Bootstrap classes in your HTML!
How does one use Bootstrap while still keeping the HTML markup semantic?