All css styles should be prefixed to prevent css conflicts.
Like angular-material prefixed with md-*
I agree. Or add the possibility to do it easily.
+1
+1
+1
+100
+1
Is there a way to make this change without causing a huge headache for everyone with existing projects?
Sure, just duplicating selectors: .row, .md-row instead of .row for example.
But changes have to be both in css and js, and it's quietly impossible do it alone manually.
The correct way to make this change without breaking anything is to provide 2 builds: the primary one, with prefixes, and the legacy one, without them. Look to libraries like modernizr which allow users to make a custom build with custom class prefixes.
P.S. A CSS framework without prefixes is very much like a person who thinks he is alone while in fact he is in a crowded room. The awkwardness of the situation becomes apparent very, very soon. :) In a big project especially. :)
All css styles should be prefixed with a custom prefix.
A good solution and alternative is Ant Design. You should look at their solution:
.@{prefix} {
...
}
It is needed to exclude any conflicts when someone can redefine the standard prefix (for example, is actual for browser extensions). So, the prefix should be customized too.
In some way a duplicate of https://github.com/Dogfalo/materialize/issues/1303
Most helpful comment
The correct way to make this change without breaking anything is to provide 2 builds: the primary one, with prefixes, and the legacy one, without them. Look to libraries like modernizr which allow users to make a custom build with custom class prefixes.
P.S. A CSS framework without prefixes is very much like a person who thinks he is alone while in fact he is in a crowded room. The awkwardness of the situation becomes apparent very, very soon. :) In a big project especially. :)