like grids & widgets you need for your scaling application Using an approach gives you the opportunity to grow your code between scaling application that changes during development
Sullivan stubbornella.org Expressive CSS johnpolacek.github.io/expressive-css John Polacek johnpolacek.com BEM bem.info Vitaly Harisov vitaly.harisov.name what’s around
to be careful on widget children selectors strength xMany design levels, layout, base, widgets, etc. that can lead to conflicts if you work on a team xWidget’s element selectors are not a best practice PROS ✓Organizing files by widgets it’s nice for avoiding conflicts ✓Very fast on building codebase with state selectors
may be forced to reset some props .category { font-family: a, b; font-size: 24px; line-height: 1; } /* SMACSS states */ .small-font { font-size: 12px; }
xVisual changes are made mainly in the HTML templates PROS ✓Smaller CSS files size with reusable selectors ✓Nice for prototyping ✓Easy to write ✓Can be combined with other approaches
to share infos to the team on the stuff you write xIf you use Foundation, Bootstrap or other you can get some conflict selector PROS ✓Approach very similar to frameworks like Bootstrap, so it’s easy to learn for people already using them ✓Easy to read if the team has the docs ✓Very, very, very fast writing
Hard to naming things and keep it consistent x Verbose selectors naming x Bigger CSS file size x Suggested to be used with CSS critical path PROS ✓Nice scalable solution ✓Just 1 level class selectors ✓Conflict proof selectors ✓Ultra flexible and reusable widgets ✓Nice for teams when they know how it works
them responsive or other Iterates the staging pages the back-end dev made to give feedback Client iteration How we are used to do develop Back-end developer Takes the HTML static templates from the fdev and make them dynamic