Re:Shoelace.css – A back to the basics CSS starter kit
by claviska on Tuesday August 01, 2017 @12:01PM
(#14902134)
This is certainly true for components, and Shoelace does style components this way (look at switches and tabs, for example). But for basic elements (non-components) IMO a clean reset is reasonable to expect.
Re:Shoelace.css – A back to the basics CSS starter kit
by SippinLean on Tuesday August 01, 2017 @12:06PM
(#14902202)
Agreed, it's inconsistent. What if I want a <table> without borders?
Should I expect an <a> with `.text-success` to overwrite `.tab-group a`? Or do I need a new class for `.tab-group .text-success`?
Look at how BS4 broke up Navs from being `.navbar > li > a` to being .navbar, .navbar-item and .navbar-link and think about why they did.
Re:Shoelace.css – A back to the basics CSS starter kit
by claviska on Tuesday August 01, 2017 @02:10PM
(#14903599)
Definitely some good arguments. Nothing is perfect, of course, and I'm always open to feedback like this.
In the meantime, a borderless table could be a modifier: table-borderless (i.e. like table-striped or table-bordered).
Just a different approach than what a lot of folks are used to :)
BS has actually has an .h1 class. Eventually a design calls for an <h2> that needs to have the visual appearance of an h1 but for SEO or HTML semantics reasons needs to be an h2.
Maintaining any site of a certain size it spirals into a nightmare quite quickly. Look at how Bootstrap 4 can add a dropdown to a <div> or a <nav>. If your rule was just `nav {}` you wouldn't have that portability, `.dropdown` is clearly superior. On sites of scale modular CSS wins every time.
>It's not Bootstrap. Different paradigm.
Could have fooled me as a lot of the class names and styling are identical. If the m-* and p-* spacing utilities are identical, is it really a different paradigm? BS has (Sass) variables as well.