Simple.css is a well done classless 'framework'. I stumbled on it a while back and started using it and thought this can be my go-to styles for tit-bits of websites that I do for landing pages, family websites etc. However, this is pretty opinionated (including some animations) and I had to abandon it. But I remained inspired by its simplicity and forked my own[1] broke it down. I broke it down to the most basic, but then can be built on top of it -- progressively get a website "designed" far enough but not further.
If you are into these simple classes, check out Drop-in Minimal CSS[2] and choose the one that fits your need.
Simple.css is from an interesting guy, Kev Quirk[3], whose 512kb[4] website was on Hackernews a while back (don't recollect if it was a story or a comment). Hi Kev, if you are around.
If you are spinning up a simple website with classless styles, perhaps it is a good idea to add a print styles and I like Gutenberg[5] for that.
I had absolutely no idea that you can have such a color picker with pure HTML. When I click on it, my browser's color picker comes up. This is amazing. I always had issues picking the right color picker or implement my own. I love the date input as well! Thank you!!!
Thanks for all the feedback and comments here, folks. It really is appreciated.
I’m not a professional web designer - this just started off as a personal project that I ended up publishing as people I shared it with seemed to like it.
I’m taking on board the various feedback from people much more knowledgeable than I here, again I really appreciate it.
If you do have feedback/changes I’d urge you to log an Issue or a PR on Github[1].
Also great to see so many other minimal CSS projects that I wasn't aware of. I’ll have to add an alternatives page to the site, I think.
I was looking for something just like this two weeks ago and came up empty due to Google being filled with just the huge frameworks like bootstrap or with SEO listicles with no content. It's disappointing how hard it can be to find stuff like this. (I guess "classless" is the keyword I wasn't aware of.)
Anyway, I'm confused about what makes something a CSS 'framework'. I feel like I just want decent defaults more than a framework, and that seems to be what this basically comes down to. Is there anything else to it?
Hey kevq, thanks for simple.css. I started using it last year on my blog and love it. After some modifications, maintenance work on styles has reduced considerably. Love it, thanks.
I can't understand why so many websites use an onclick handler on a button to redirect to websites.
It's not hard to even find something like
<a href="#" onclick="location.href='https://example.com';">click here</a>
The worst part is that it's not just random websites doing this, this can be found on most FAANG websites as well.
I can see straight away from the home page that there isn't enough margin before h1 > p in the case of the title, and the vertical rhythm is a bit off.
Aside from that, the semantic styling for `header` and `nav` is really clever and well done. Looks good.
I wish more designers would look at these minimalist frameworks and add helpful feedback like this. I feel like the aesthetics of a lot of them could be improved with more attention from designers.
A nitpick perhaps, but I was surprised to see `cite` used to enclose the author's name in your `blockquote` example. I was under the impression that `cite` is meant to be used to mark up titles of books and similar, not author names, and MDN[1] seems to agree with me here.
That aside, nice work! This could surely be useful as a default stylesheet for Markdown documents and the like.
The recommendations on markup for citation sources has changed significantly over time. Originally they said something like <blockquote>… <cite>…</cite></blockquote>, then they changed it to <blockquote>… <footer><cite>…</cite></footer></blockquote>, now they seem to be saying <figure><blockquote>…</blockquote><figcaption><cite>…</cite></figcaption></figure> Similarly what should be included in the text inside a <cite> element has changed over time.
Frankly, since the cite element has no implicit ARIA role and is normal flow and phrasing content, it’s roughly just another spelling of <i>. Don’t worry too much about its nominal semantics, they’ll probably tweak them again before long.
new.css developer here, thank you :) Happy to see people still enjoying it. I've been meaning to update it for a very long time, but have been working through a lot of coding-based anxiety and burnout for a while.
It's encouraging to see people still using new.css though, and I hope to work on upgrades soon!
A lot of people like the larger, more thorough frameworks because:
1. they think it makes newer devs can feel safer
2. dev teams can simply agree on an pre-made modus-operandi for all css without having to have discussions/evolutions on it.
But for 1, it also gives newer devs a steeper learning curve, and it gives older devs Yet Another Framework to learn and then possibly discard in a few years. It's also often used like a crutch, where yes the newer dev may feel safer, but they're also not exposed to as many discussions or reasoning around well-organized styling, cleaner semantics, etc.
And for 2, it can also add overhead to dependency audits and often for the large frameworks with pre-made components you can end up spending significant resources fighting/working around the framework components when the inevitable unforeseen use-cases come up
I see a bit of straw man here -- thorough frameworks are often liked _because_ they're thorough. Simple.css looks fantastic and I'll reach for it next time I make a simple personal site, but for a professional website with a hundred pages and design considerations that go way beyond "it should look pleasing", I need more levers, leverage, and turnkey components.
Nice. Comparing with MVP.CSS, another class-less CSS framework, this has less feature (MVP has a way to create cards), but also seems to avoid two things that I don't like about MVP: centered block quote, and links without underline.
Im a firm believer in links being underlined. I also wanted it to be a little opinionated, as to started life as a personal project, yet easy to customise.
Sometimes folks do things like "The <span> in the <p>aragraph of the <article> will be font-weight: 300" and that stuff is more difficult to keep track of than classes. Beyond the existing HTML tags if everything is a <div> that may end up being more semantic and easier to parse. Web components is an ugly and terse way of achieving it, but too JS dependent and annoying.
When it comes to being minimalist, can you not make TailwindsCSS as minimal as necessary or go crazy with it as you see fit? I found it having the right balance. Especially since it is popular with better support and good documentation.
Just curious about the thoughts since I have never dived the classless CSS train. Also am new to front-end.
A classless CSS framework is a good fit if you’re looking for a simple and lightweight solution that doesn’t require dipping into Node ecosystem or learning an idiomatic class name system.
Why not just use Tailwind? It, for example, essentially requires a front-end build step: it must read your source HTML files in order to know which CSS rules to bundle. (Without that it would have no choice but to serve a multi-megabyte stylesheet with all possible selectors.) Tailwind may be a good choice if you need more control over appearance, you are OK involving Node at pre-build, but you can’t write isomorphic GUI components—e.g., you’re providing server-rendered HTML with a non-JS back-end.
The emphasis away from semantic HTML and towards component-based frameworks with all the associated utility CSS classes has been a disaster for accessibility, and it's good to see projects that have all users in mind.
it's more like a CSS reset file than a framework. in that case I don't see adding 4kb is necessary.
I'm more a fan from styling everything from scratch rather than using any CSS framework.
we just need better tooling to write better CSS faster not necessarily including prewritten CSS.
I deeply believe this is where CSS going and this why I'm building https://intab.io to push towards that direction myself.
[+] [-] Brajeshwar|4 years ago|reply
If you are into these simple classes, check out Drop-in Minimal CSS[2] and choose the one that fits your need.
Simple.css is from an interesting guy, Kev Quirk[3], whose 512kb[4] website was on Hackernews a while back (don't recollect if it was a story or a comment). Hi Kev, if you are around.
If you are spinning up a simple website with classless styles, perhaps it is a good idea to add a print styles and I like Gutenberg[5] for that.
1. https://oinam.github.io/oinam-jekyll/
2. https://dohliam.github.io/dropin-minimal-css/
3. https://kevq.uk/about/
4. https://512kb.club
5. https://github.com/BafS/Gutenberg
[+] [-] johnisgood|4 years ago|reply
I had absolutely no idea that you can have such a color picker with pure HTML. When I click on it, my browser's color picker comes up. This is amazing. I always had issues picking the right color picker or implement my own. I love the date input as well! Thank you!!!
[+] [-] ecliptik|4 years ago|reply
1. https://fosstodon.org/about
[+] [-] kevq|4 years ago|reply
[+] [-] kevq|4 years ago|reply
Thanks for all the feedback and comments here, folks. It really is appreciated.
I’m not a professional web designer - this just started off as a personal project that I ended up publishing as people I shared it with seemed to like it.
I’m taking on board the various feedback from people much more knowledgeable than I here, again I really appreciate it.
If you do have feedback/changes I’d urge you to log an Issue or a PR on Github[1].
Also great to see so many other minimal CSS projects that I wasn't aware of. I’ll have to add an alternatives page to the site, I think.
[1] https://github.com/kevquirk/simple.css
[+] [-] tgb|4 years ago|reply
Anyway, I'm confused about what makes something a CSS 'framework'. I feel like I just want decent defaults more than a framework, and that seems to be what this basically comes down to. Is there anything else to it?
[+] [-] irq-1|4 years ago|reply
https://developer.mozilla.org/en-US/docs/Web/CSS/:required
Client-side form validation - https://developer.mozilla.org/en-US/docs/Learn/Forms/Form_va...
Nice work.
[+] [-] swyx|4 years ago|reply
[+] [-] animesh|4 years ago|reply
[+] [-] UltraViolence|4 years ago|reply
[+] [-] pchangr|4 years ago|reply
https://news.ycombinator.com/item?id=29565438
Edit: also in here it’s a tool to quickly compare them all. I don’t know if one can mention a user so I’ll just link the comment.
[+] [-] jebronie|4 years ago|reply
Maybe something like this would be a better idea if you absolutely must avoid classes:
https://jsfiddle.net/qa2cdj4v/
[+] [-] thomascz|4 years ago|reply
The worst part is that it's not just random websites doing this, this can be found on most FAANG websites as well.
[+] [-] fath0m|4 years ago|reply
[+] [-] notjustanymike|4 years ago|reply
[+] [-] aetherspawn|4 years ago|reply
Aside from that, the semantic styling for `header` and `nav` is really clever and well done. Looks good.
[+] [-] TiredGuy|4 years ago|reply
[+] [-] Xevi|4 years ago|reply
header h1, header p {
[+] [-] digisign|4 years ago|reply
[+] [-] wastholm|4 years ago|reply
That aside, nice work! This could surely be useful as a default stylesheet for Markdown documents and the like.
[1] https://developer.mozilla.org/en-US/docs/Web/HTML/Element/ci...
[+] [-] chrismorgan|4 years ago|reply
Frankly, since the cite element has no implicit ARIA role and is normal flow and phrasing content, it’s roughly just another spelling of <i>. Don’t worry too much about its nominal semantics, they’ll probably tweak them again before long.
[+] [-] kevq|4 years ago|reply
[+] [-] nickcox|4 years ago|reply
[+] [-] 13324|4 years ago|reply
[+] [-] bdn_|4 years ago|reply
It's encouraging to see people still using new.css though, and I hope to work on upgrades soon!
[+] [-] TiredGuy|4 years ago|reply
1. they think it makes newer devs can feel safer
2. dev teams can simply agree on an pre-made modus-operandi for all css without having to have discussions/evolutions on it.
But for 1, it also gives newer devs a steeper learning curve, and it gives older devs Yet Another Framework to learn and then possibly discard in a few years. It's also often used like a crutch, where yes the newer dev may feel safer, but they're also not exposed to as many discussions or reasoning around well-organized styling, cleaner semantics, etc.
And for 2, it can also add overhead to dependency audits and often for the large frameworks with pre-made components you can end up spending significant resources fighting/working around the framework components when the inevitable unforeseen use-cases come up
[+] [-] glacials|4 years ago|reply
[+] [-] powersnail|4 years ago|reply
[+] [-] edoceo|4 years ago|reply
[+] [-] kevq|4 years ago|reply
[+] [-] awb|4 years ago|reply
But always happy to see more classless CSS options.
Disclosure: Author of MVP.css
[+] [-] sphars|4 years ago|reply
https://sphars.github.io/yacck/
[+] [-] jszymborski|4 years ago|reply
[+] [-] louismerlin|4 years ago|reply
I created my own classless CSS framework[1] in the same vein. It adapts to your system’s dark/light mode and is under 1kb minzipped.
I would recommend to check out the drop-in minimal CSS page if you want do discover new projects like these.
1. https://concrete.style/
2. https://dohliam.github.io/dropin-minimal-css/
[+] [-] fareesh|4 years ago|reply
[+] [-] culi|4 years ago|reply
• https://meyerweb.com/eric/tools/css/reset/
• https://piccalil.li/blog/a-modern-css-reset/
• https://www.joshwcomeau.com/css/custom-css-reset/
• http://www.vcarrer.com/2010/05/css-mini-reset.html
Normalize:
• https://necolas.github.io/normalize.css/
• https://csstools.github.io/sanitize.css/
Starters:
• https://simplecss.org/
• https://andybrewer.github.io/mvp/
• https://watercss.kognise.dev/
• https://vanillacss.com/
• https://newcss.net/
[+] [-] ezequiel-garzon|4 years ago|reply
[+] [-] unknown|4 years ago|reply
[deleted]
[+] [-] leetrout|4 years ago|reply
[+] [-] bingohbangoh|4 years ago|reply
[0]: https://watercss.kognise.dev/
[+] [-] izietto|4 years ago|reply
[+] [-] Gentil|4 years ago|reply
Just curious about the thoughts since I have never dived the classless CSS train. Also am new to front-end.
[+] [-] goblin89|4 years ago|reply
Why not just use Tailwind? It, for example, essentially requires a front-end build step: it must read your source HTML files in order to know which CSS rules to bundle. (Without that it would have no choice but to serve a multi-megabyte stylesheet with all possible selectors.) Tailwind may be a good choice if you need more control over appearance, you are OK involving Node at pre-build, but you can’t write isomorphic GUI components—e.g., you’re providing server-rendered HTML with a non-JS back-end.
[+] [-] bradley_taunt|4 years ago|reply
[0]: https://vanillacss.com
[+] [-] ziggus|4 years ago|reply
The emphasis away from semantic HTML and towards component-based frameworks with all the associated utility CSS classes has been a disaster for accessibility, and it's good to see projects that have all users in mind.
[+] [-] hamedb|4 years ago|reply
we just need better tooling to write better CSS faster not necessarily including prewritten CSS.
I deeply believe this is where CSS going and this why I'm building https://intab.io to push towards that direction myself.