csswg-drafts VS JSS

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

JSS

JSS is an authoring tool for CSS which uses JavaScript as a host language. (by cssinjs)
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 JSS
70 16
4,278 7,052
0.8% 0.1%
9.9 0.0
5 days ago 10 months ago
Bikeshed JavaScript
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.

JSS

Posts with mentions or reviews of JSS. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-12-28.
  • CSS in Perl
    2 projects | dev.to | 28 Dec 2023
    Most websites those days are SPA applications that render on the front-side. There is also this trend of CSS in JavaScript also knowns as JSS that is debatable (makes everything overcomplicated), but in some specific cases, can be justified and very useful.
  • CSS Solves Auto-Expanding Textareas
    2 projects | news.ycombinator.com | 30 Sep 2023
    > why tf aren't we using JS for styling already

    People are and have been for quite a while

    https://cssinjs.org/

  • Front-end Guide
    54 projects | dev.to | 23 Nov 2022
    JSS
  • programmatic design with JS?
    1 project | /r/reactjs | 19 Nov 2022
  • Is it possible to style a website in JS only and if it is, is it recommended? Are there some downsides?
    2 projects | /r/learnjavascript | 7 Apr 2022
    It is possible. At its most simple, you could just modify the style property on every element. That's not generally considered best practice, but there are a number of "CSS-in-JS" libraries which streamline the process. The typically generate dynamic CSS classes and apply them to your elements. A big one is JSS.
  • Ukraine calls on gaming industry to suspend business with Russia
    2 projects | /r/worldnews | 2 Mar 2022
  • Amplify, React and Typescript
    1 project | dev.to | 20 Feb 2022
    import React, { useState, useEffect } from "react"; import Amplify, { API, graphqlOperation } from "aws-amplify"; import { createBlog } from "./graphql/mutations"; import { listBlogs } from "./graphql/queries"; import awsExports from "./aws-exports"; import { ListBlogsQuery } from "./API"; Amplify.configure(awsExports); const initialState = { name: "", body: "" }; const App = () => { const [formState, setFormState] = useState(initialState); const [blogs, setBlogs] = useState(); useEffect(() => { fetchBlogs() }, []); const handleInputChange = (event: React.ChangeEvent) => { setFormState({ ...formState, [event.target.name]: event.target.value }); }; const fetchBlogs = async () => { try { const blogData = (await API.graphql(graphqlOperation(listBlogs))) as { data: ListBlogsQuery } setBlogs(blogData.data); } catch (err) { console.log("Error fetching blogs" + err); } }; const addBlog = async () => { try { if (!formState.name || !formState.body) return; const blog = { ...formState }; if (blogs) { await API.graphql(graphqlOperation(createBlog, { input: blog })); await fetchBlogs(); setFormState(initialState); } } catch (err) { console.log("error creating blog: ", err); } }; return (

    Amplify Todos

    Create Blog {blogs && blogs?.listBlogs?.items?.map((blog, index) => { return (

    {blog?.name}

    {blog?.body}

    ); })}
    ); }; const styles = { container: { width: 400, margin: "0 auto", display: "flex", //real weird issue: https://github.com/cssinjs/jss/issues/1344 flexDirection: "column" as "column", justifyContent: "center", padding: 20, }, todo: { marginBottom: 15 }, input: { border: "none", backgroundColor: "#ddd", marginBottom: 10, padding: 8, fontSize: 18, }, todoName: { fontSize: 20, fontWeight: "bold" }, todoDescription: { marginBottom: 0 }, button: { backgroundColor: "black", color: "white", outline: "none", fontSize: 18, padding: "12px 0px", }, }; export default App;
  • Gatsby JS — How to solve FOUC when using tss-react and Material UI v5
    4 projects | dev.to | 29 Jan 2022
    Material UI v5 brought some amazing updates, but switching from JSS to Emotion had an arguably nasty side-effect: it was no longer as straightforward to group your component styles in classes. Fortunately, a fantastic library emerged that allowed developers to not only reduce the extreme pain from migrating all their classes from v4's makeStyles to emotion, but to also to continue to writing classes in practically the same syntax, with wonderful TS type-safety. This library was tss-react, and it was one of my favorite open source discoveries of 2021.
  • Feel like that studying as a self-taught is taking me further than studying at university
    2 projects | /r/webdev | 25 Oct 2021
    I started writing a long response, but I want to add that a simple CRA + JSS + TS (named exports only) stack solves or abstracts away most of these issues.
  • What is CSS in JS?
    1 project | dev.to | 17 Sep 2021
    JSS

What are some alternatives?

When comparing csswg-drafts and JSS 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.

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

WHATWG HTML Standard - HTML Standard

React CSS Modules - Seamless mapping of class names to CSS modules inside of React components.

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

Sass - Sass makes CSS fun!

rellax - Lightweight, vanilla javascript parallax library

tss-react - ✨ Dynamic CSS-in-TS solution, based on Emotion

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

styled-jsx - Full CSS support for JSX without compromises