Seva Zaikov
Aug 27, 2017 · 1 min read

It is not that simple, unfortunately. Sometimes yes, but originally these approaches were designed exactly to deal with global nature of class names (and to have more clear rules about specificity).

Sure, we can create custom scoping if we just nest it under another class name, but sooner or later we will need to use the same class name under different scope, or we would like to have this class name to have a little bit different set of rules under some specific scope, and while it is a pretty solid solution in the beginning, after a while it becomes a very complicated task to change without breaking anything (and the worst, it is hard to spot problems, so we become less _confident_ about changes).

And again, because of global class names, nothing protects us from accidentally reusing existing names, and without some naming strategy, we will run out of names pretty soon.

So, from my point of view, it all has grounds, and not just trying to reinvent the wheel and to build your own bicycle.

)

Seva Zaikov

Written by

I am a self-taught developer, living in Berlin, Germany. I mostly play with JavaScript, writing code at @contentful.