Emotion
CSS-in-JS library designed for high performance style composition
README
emotion
The Next Generation of CSS-in-JS
Emotion 11 has been released 🚀 See the blog post
Emotion is a performant and flexible CSS-in-JS library. Building on many other CSS-in-JS libraries, it allows you to style apps quickly with string or object styles. It has predictable composition to avoid specificity issues with CSS. With source maps and labels, Emotion has a great developer experience and great performance with heavy caching in production.
Frequently viewed docs:
- Install
- CSS Prop
Quick Start
Get up and running with a single import.
- ``` sh
- npm install --save @emotion/react
- ```
- ``` js
- /** @jsx jsx */
- import { jsx } from '@emotion/react'
- let SomeComponent = props => {
- return (
- <div
- css={{
- color: 'hotpink'
- }}
- {...props}
- />
- )
- }
- ```
Do I Need To Use the Babel Plugin?
The babel plugin is not required, but enables some optimizations and customizations that could be beneficial for your project.
Look here 👉 _emotion babel plugin feature table and documentation_
Demo Sandbox
Examples
- reactivesearch, a react UI library for Elasticsearch [Website]
- circuit-ui, a react component library built at SumUp [Storybook]
- open a PR and add yours!
Ecosystem
- stylelint - A mighty, modern linter that helps you avoid errors and enforce conventions in your styles.
- nuxt-community/emotion-module - Emotion module for Nuxt.js
- ShevyJS
- design-system-utils - Utilities to give better access to your design system.
- polished - Lightweight set of Sass/Compass-style mixins/helpers for writing styles in JavaScript.
- monad-ui - Utility First CSS-In-JS
- css-in-js-media - you can deal with responsive design using css-in-js easily with thiscss-in-js-media which is similar with include-media
- emotion-native-extended - Better styling support for Emotion Native with React Native Extended Stylesheet
In the Wild
Sponsors
Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [Become a sponsor]
Backers
Thank you to all our backers! 🙏 [Become a backer]
Contributors
This project exists thanks to all the people who contribute. [Contribute].