JSS
styled-components
Our great sponsors
JSS | styled-components | |
---|---|---|
16 | 221 | |
7,048 | 40,012 | |
0.1% | 0.4% | |
0.0 | 8.7 | |
8 months ago | 7 days ago | |
JavaScript | TypeScript | |
MIT License | MIT License |
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.
JSS
-
CSS in Perl
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
> why tf aren't we using JS for styling already
People are and have been for quite a while
-
Front-end Guide
JSS
-
Is it possible to style a website in JS only and if it is, is it recommended? Are there some downsides?
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
-
Gatsby JS — How to solve FOUC when using tss-react and Material UI v5
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
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.
-
Stop using CSS, use JSS instead.
Official docs
-
Tagged Template Literals - The Magic Behind Styled Components
If you have some experience with React, you probably came across styled-components. In the last few years, the concept of css-in-js became more popular, and there are multiple libraries that are available for us to use. styled-components is one of them, but you can also find Emotion, Radium, JSS, and more. In this post I'm not going to cover the pros and cons of traditional stylesheet files vs. styled-components, and instead - I'm going to focus on tagged template literals - the "magic" that let us use the styled-components syntax.
-
Why I left CSS-in-JS and returned to good old CSS preprocessors
See for example this one. Sometimes this simple query doesn't work:
styled-components
- Creating Nx Workspace with Eslint, Prettier and Husky Configuration
-
The Secret Weapon of Top Developers: 7 React JS Libraries You Can't Afford to Ignore
Embracing the styled-components library allows developers to write actual CSS code to style their components. It utilizes tagged template literals to style components, enabling a seamless integration of styles within the component's JavaScript file. This approach eliminates the mapping between components and styles, thus enhancing developer productivity and component reusability.
-
The 20 most used React libraries
styled-components: Allows for maintainable styling with CSS-in-JS. Learn more
- Iniciando um backoffice rapidamente com AdminJS
-
Styling React 2023 edition
Over the past few years, I've worked with React apps utilising various CSS-in-JS libraries, starting with styled-components, transitioning through emotion, Theme UI, and finally Stitches. I've also integrated MUI, Mantine, and Chakra in numerous client projects.
-
The Ultimate Tech Stack for Building a Full-Stack MVP and Iterating Quickly
There are several alternatives to MUI. shadcn/ui is a modern alternative that is very popular. Ant Design is also a great alternative. Charkra UI can also be used as a UI Framework. Some people suggest just using styled components. Some use Tailwind CSS. Yet, for both styled components and Tailwind CSS, one still writes a lot of CSS. This might not provide the best developer experience compared to using a UI Framework, especially if we aim to avoid designing all the pages on the website.
-
React Ecosystem in 2024
Website: Styled Components
-
Building an entire fullstack project with Firebase 10 and React (Vite)
The project is build using several ready made components available within, Mantine. It’s a fully featured React components library. However some places still use some custom CSS-in-JS so we used some good ol’ styled components.
-
Media Queries and Responsive Design
You can use Media Queries in Styled-Components similar to how you would use them in CSS, other than the fact that you can define custom screen sizes in your theme and access them inside your Media Queries:
-
CSS lobotomized owl selector: A modern guide
The above is still a more "traditional" way to use CSS. Let's look at a CSS-in-JS example that makes use of styled-components:
What are some alternatives?
styled-jsx - Full CSS support for JSX without compromises
emotion - 👩🎤 CSS-in-JS library designed for high performance style composition
chakra-ui - ⚡️ Simple, Modular & Accessible UI Components for your React Applications
styletron - :zap: Toolkit for component-oriented styling
PostCSS - Transforming styles with JS plugins
Material UI - Ready-to-use foundational React components, free forever. It includes Material UI, which implements Google's Material Design.
Aphrodite - Framework-agnostic CSS-in-JS with support for server-side rendering, browser prefixing, and minimum CSS generation
react-bootstrap - Bootstrap components built with React
React CSS Modules - Seamless mapping of class names to CSS modules inside of React components.
classnames - A simple javascript utility for conditionally joining classNames together
vanilla-extract - Zero-runtime Stylesheets-in-TypeScript