csswg-drafts VS css-modules

Compare csswg-drafts vs css-modules and see what are their differences.

css-modules

Documentation about css-modules (by css-modules)
InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
csswg-drafts css-modules
70 88
4,291 17,413
0.9% 0.4%
9.9 5.2
2 days ago about 1 month ago
Bikeshed
GNU General Public License v3.0 or later -
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.

css-modules

Posts with mentions or reviews of css-modules. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-04-19.
  • Selectors for Humans, Hashes for Machines
    2 projects | dev.to | 19 Apr 2024
    One aspect of CSS modules that I truly appreciate is its ability to compress class names into very short hashes. This feature allows me to keep my CSS selectors as long and descriptive as needed, while still compressing them into concise three or four character hashes. It aligns with my rule for CSS: selectors should be written for human readability, but compressed for machine efficiency.
  • Architecture: Micro frontends
    2 projects | dev.to | 5 Apr 2024
    Use methodologies such as BEM, and technologies including CSS modules, CSS-in-JS, and Shadow DOM to isolate the styles of each micro-application and prevent conflicts, thus ensuring reliable encapsulation and modularity.
  • Use TailwindCSS prefixes for shared design system components
    6 projects | dev.to | 22 Jan 2024
    For many years, Culture Amp took the second option, and distributed shared components without compiled CSS. This meant that every app that consumed shared components needed to include the necessary CSS build tooling – at that time CSS Modules and node-sass – with a compatible version and configuration. This was relatively easy to set up, but over time proved difficult to maintain. When node-sass was deprecated in favour of (the much faster but slightly incompatible) Dart Sass, this demanded a difficult lock-step migration across all those codebases, which we have yet to achieve. And as new applications have switched to Tailwind for their own styles, they've had to continue to maintain those old build tools in parallel for the shared components' styles.
  • I'm Writing CSS in 2024
    1 project | news.ycombinator.com | 8 Jan 2024
  • CSS Modules Still a Thing?
    2 projects | /r/css | 7 Dec 2023
    So CSS modules are a form of 3rd-party CSS-in-JS, where what you import are the class names, which are then usually obfuscated etc at compile time, and all the actual style declarations are (usually) compiled into a single css file or tag as part of the bundling process. You can read the og docs on'em here, and you've probably seen'em used in React like:

    import styles from "./styles.css";
    
    function Example(){
        return (
            

    Hello

    ); }

    They predate the ability to import non-js files in vanilla by a good while, and rely on the compile process to translate your .css files into .js files that can be imported using whichever loader you use in your bundler.

    Import assertions are a vanilla way to import non-js files by telling the browser how to import them; assert { type: "css" } says to treat the file as CSS and create a CSSStyleSheet, assert { type: "json" } says to treat the file as JSON and create a JSON object - and hopefully assert { type: "html" } will hopefully arrive soon and create a #document-fragment or something similar.

    Hope that clears it up!

  • An Overview of 25+ UI Component Libraries in 2023
    40 projects | dev.to | 10 Sep 2023
    Extensions of CSS: for example, Sass, Less, Tailwind, CSS Modules, to make stuff look a certain way on your own.
  • Creating a Component Library Fast🚀(using Vite's library mode)
    7 projects | dev.to | 11 Aug 2023
    The components are styled with CSS modules. When building the library, these styles will get transformed to normal CSS style sheets. This means that the consuming application will not even be required to support CSS modules. (In the future I want to extend this tutorial to use vanilla-extract instead.)
  • All 7 ways to deal with CSS most never tried
    5 projects | dev.to | 7 Jun 2023
    NextJS comes with built-in support for CSS Modules which allows you to scope your styles locally in individual components without worrying about name collisions or messing up other parts of the codebase.
  • Vanilla+PostCSS as an Alternative to SCSS
    15 projects | dev.to | 30 Mar 2023
    CSS modules are not to be confused with mixins, as they serve the opposite purpose. While mixins are components or functions to be reused globally, modules are style sheets with a local scope used in a similar way as styled components in React.
  • The Future of CSS
    7 projects | dev.to | 9 Feb 2023
    CSS Modules CSS Modules is a pre-processing step: by default, styles are scoped locally to the current component, and the transpiler ensures no conflicts.

What are some alternatives?

When comparing csswg-drafts and css-modules you can also consider the following projects:

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

emotion - 👩‍🎤 CSS-in-JS library designed for high performance style composition

open-props - CSS custom properties to help accelerate adaptive and consistent design.

esbuild-plugin-solid

WHATWG HTML Standard - HTML Standard

stencil - A toolchain for building scalable, enterprise-ready component systems on top of TypeScript and Web Component standards. Stencil components can be distributed natively to React, Angular, Vue, and traditional web developers from a single, framework-agnostic codebase.

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

styled-components - Visual primitives for the component age. Use the best bits of ES6 and CSS to style your apps without stress 💅

rellax - Lightweight, vanilla javascript parallax library

postcss-nested - PostCSS plugin to unwrap nested rules like how Sass does it.

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

@artsy/fresnel - An SSR compatible approach to CSS media query based responsive layouts for React.