csswg-drafts VS open-props

Compare csswg-drafts vs open-props and see what are their differences.

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
csswg-drafts open-props
70 49
4,269 4,402
1.3% -
9.9 8.4
4 days ago 3 days ago
Bikeshed HTML
GNU General Public License v3.0 or later MIT License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

csswg-drafts

Posts with mentions or reviews of csswg-drafts. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-04-23.
  • Help us invent CSS Grid Level 3, a.k.a. "Masonry" layout – WebKit
    5 projects | news.ycombinator.com | 23 Apr 2024
    For more background, and some detailed discussion of the opposite argument ("display: masonry" over "display:grid"+"grid-template-rows: masonry") see https://github.com/w3c/csswg-drafts/issues/9041
  • Chrome Dev: High Definition CSS Color Guide
    1 project | news.ycombinator.com | 7 Apr 2024
    The tracking issue: https://github.com/w3c/csswg-drafts/issues/8659

    As noted there, okHSL/HSV keeps the perceptual uniformity by removing some peaks beyond the geometric limit of HSL/HSV, and it is unclear whether it is what users do expect or not.

  • Announcing Winduum 1.0 - Framework agnostic component library for TailwindCSS
    5 projects | dev.to | 29 Feb 2024
    The idea is that you should be able to set accent color via accent-color CSS property. It is discussed that there should be access to the color value of this property, e.g. via AccentColor or AccentColorText.
  • Learn CSS Layout the Pedantic Way
    7 projects | news.ycombinator.com | 27 Feb 2024
    What do you mean by "official documentation"? The specification [1]? MDN [2]?

    [1] https://drafts.csswg.org/

    [2] https://developer.mozilla.org/en-US/docs/Web/CSS

    The former is not meant as a learning resource for new web devs and the latter usually has information about the "baseline" support ond browser compatibility tables.

  • CSS WG resolved to officially work on native custom functions and mixins
    1 project | news.ycombinator.com | 13 Feb 2024
    The link corresponding to the actual submission title (“CSS WG resolved to officially work on native custom functions and mixins”):

    https://github.com/w3c/csswg-drafts/issues/9350#issuecomment...

    > RESOLVED: Start ED of css-mixins for CSS Custom Functions and Mixins

  • Weird things engineers believe about Web development
    2 projects | news.ycombinator.com | 7 Jan 2024
    Recently I was reading the Learn CSS the pedantic way book and the definition for inline boxes did not match the way that anonymous block boxes were generated when an inline-level element had a block-level element as its child. So I went looking elsewhere for a more appropriate definition for that case and found this issue on standards: https://github.com/w3c/csswg-drafts/issues/1477 It was really interesting to know that I was not the only one confused. My question was: Does the inline-box generated by the inline-level element contains the box generated by the block-level child or there wasn't an inline-box that was a parent of them all but there were 2 siblings inline-level boxes of the block-level box that were wrapped in another anonymous block boxes? Reading that issue I got to know the concept of fragments, which I did not know browsers had. But the issue seems to suggest that the box tree for this case should have the inline-box as being a parent of the block-box. Which led me to another question, in that case, if I apply a border to the parent inline-level element, shouldn't it apply to the overall box that is generated (it does not)? The answer is that borders between block-boxes and inline-level boxes should not intersect but that is really difficult to derive from reading the standards alone. Anyway it was headache-inducing trying to learn the box-model pedantically :)
  • CSS Is Fun Again
    8 projects | news.ycombinator.com | 27 Dec 2023
    With all the recent CSS improvements I still miss the possibility to have working transition to "height:auto". The issue [1] on csswg-drafts is the most upvoted one. At least we can now use css grid and track sizes transitions, but it's far from intuitive, transition for "height:auto" should just work.

    [1]: https://github.com/w3c/csswg-drafts/issues/626

  • Proposed "au" unit for CSS provides for styling on an astronomical scale
    1 project | news.ycombinator.com | 5 Dec 2023
  • The Future of CSS: Easy Light-Dark Mode Color Switching with Light-Dark()
    5 projects | news.ycombinator.com | 9 Oct 2023
    Masonry isn’t ready to be shipped as there are still quite a few open spec issues [^1] that need to be resolved first.

    [^1]: https://github.com/w3c/csswg-drafts/issues?q=is%3Aissue+is%3...

  • CSS Solves Auto-Expanding Textareas
    2 projects | news.ycombinator.com | 30 Sep 2023
    the irc log is here: https://github.com/w3c/csswg-drafts/issues/7542#issuecomment...

    i had the same reaction, it seems like a very weird syntax. but after reading the discussion i get it: you're telling a form field to behave like a normal html element, instead of behaving like a form field.

open-props

Posts with mentions or reviews of open-props. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-02-27.
  • Learn CSS Layout the Pedantic Way
    7 projects | news.ycombinator.com | 27 Feb 2024
    There's still some boilerplate, but I'm a big fan of Open Props[0] because it takes a hybrid approach. CSS isn't necessarily reinventing the wheel, but allowing for easier / more powerful approaches to difficult layouts or things that would otherwise require JS. Bootstrap is fine but troubleshooting advanced layout issues involves a lot of inspecting elements to see what styles are actually being applied (at least in my experience, YMMV) so I'd personally always bet on CSS.

    [0] https://open-props.style/

  • Why Tailwind Isn't for Me
    2 projects | news.ycombinator.com | 26 Jan 2024
    I don't quite get the hate for having CSS in another file. Do you also put all your react stuff in one single file ? That same logic and argument can be applied against all modularization.

    And really 20-50 tailwind classes in a single element is VERY hard to read and keep in mind. No - it does not make things clear or understandable. One tends to need to re-read and scan over from the beginning and eyes glaze over. Esp if some elements only vary with a few classes missing. I guess it works for people with very high attention to detail and high amount of working memory. I only find it personally frustrating.

    Maybe tailwind css works for some bright people. I did try it for a couple of projects and only felt pain.

    However, the "atomic css" philosophy behind tailwind is great. I find framewroks like https://open-props.style/ far better to use.

  • Htmx and Web Components: A Perfect Match
    5 projects | news.ycombinator.com | 18 Jan 2024
  • Styling React 2023 edition
    11 projects | dev.to | 3 Nov 2023
    Open Props adds to the set by providing extra custom properties for things like easing functions or animations.
  • The Future of CSS: Easy Light-Dark Mode Color Switching with Light-Dark()
    5 projects | news.ycombinator.com | 9 Oct 2023
    > If you wanted to actually solve theming, what you should work for is not a constrained helper function like light-dark(), but instead a shared token schema. Today nearly every company has their own token schema and different ways of naming things in the semantic token layer. If we had a shard language here, not only would it be trivial to add light/dark theming (just redefine a few variables that are already provided for you), code could be shared between sites and inherit the theming/branding.

    Isn't that the idea behind https://open-props.style/ (and https://theme-ui.com/ in JS land)?

    I think it's a great idea, but hampered by the lack of adoption incentives for the very people that need to adopt it for it to become successful (design system/component library authors). It introduces constraints, but the promised interoperability is not really beneficial to the people who need to work within those constraints.

  • Tailwind CSS and the death of web craftsmanship
    8 projects | news.ycombinator.com | 2 Aug 2023
    I do think that the real value of Tailwind comes from the utility classes, rather than css-in-html paradigm. You could achieve the same, for example, with Pollen.css [0] or Open Props [1].

    [0] https://github.com/heybokeh/pollen

    [1] https://github.com/argyleink/open-props

  • What is the best styling strategy for a Svelte project?
    1 project | /r/sveltejs | 12 Apr 2023
    If you choose to style with plain CSS you can add design tokens as CSS variables with Open Props: https://open-props.style.
  • Released tw-variables: 400 useful Tailwind utilities as ready-to-import CSS variables
    2 projects | /r/Frontend | 11 Mar 2023
    Some time ago I discovered Open Props which provides a lot of design tokens as CSS variables and started using it in some of my projects.
  • [Showcase] Searching for Friendly-User for Scrum-Tool Miyagi
    4 projects | /r/sveltejs | 5 Feb 2023
    CSS: Open Props (https://open-props.style/)
  • What UI framework would you recommend?
    10 projects | /r/sveltejs | 2 Feb 2023
    https://open-props.style/ gives you design tokens as CSS variables. It’s CSS only and not Svelte specific.

What are some alternatives?

When comparing csswg-drafts and open-props you can also consider the following projects:

Modernizr - Modernizr is a JavaScript library that detects HTML5 and CSS3 features in the user’s browser.

carbon-components-svelte - Svelte implementation of the Carbon Design System

WHATWG HTML Standard - HTML Standard

svelte-headlessui - Unofficial Svelte port of the Headless UI component library

modern-font-stacks - System font stack CSS organized by typeface classification for every modern operating system

pollen - The CSS variables build system

Rotativa - Rotativa, /rota'tiva/. Make Pdf from Asp.Net MVC. Available on Nuget https://www.nuget.org/packages/Rotativa

Tailwind CSS - A utility-first CSS framework for rapid UI development.

container-query-polyfill - A polyfill for CSS Container Queries

modern-normalize - 🐒 Normalize browsers' default style

rellax - Lightweight, vanilla javascript parallax library

vanilla-extract - Zero-runtime Stylesheets-in-TypeScript