Emotion CSS-in-JS Library
github.com
1
Leaving SiteNav
External Link Disclaimer
You are about to visit github.com. This website is not operated by us. We are not responsible for its content or privacy practices.
About this website
Emotion is a free and open-source, performant and flexible CSS-in-JS library for React and vanilla JavaScript. Created by Kye Hohenberger (tkh44) in 2017, Emotion is designed as a high-performance alternative to Styled Components with additional API flexibility. Used by System UI, Theme UI, and many production applications. Key features: multiple APIs: supports both the css prop (string or object styles) and styled component API (similar to styled-components), giving developers choice. Object styles: styles can be written as JavaScript objects (css({ color: 'blue', fontSize: 14 })) which are faster to evaluate than string parsing. String styles: supports tagged template literals like styled-components for familiar syntax. Theming: ThemeProvider with useTheme hook and responsive design patterns. Performance: Emotion caches serialized styles and avoids unnecessary re-renders. The css function returns a class name, enabling style composition without runtime overhead. SSR: server-side rendering with critical CSS extraction. Labels: debug labels for development tooling. Keyframes and global styles: @emotion/core exports keyframes and Global components. Composition: styles can be composed and combined (compose, css variables). Source maps: accurate source maps for debugging. Framework-agnostic core (@emotion/css) and React-specific package (@emotion/react). JavaScript/TypeScript. MIT.
Statistics
1
Views
0
Clicks
0
Like
0
Dislike