Repolode
emotion-js

emotion-js/emotion

一个高性能、灵活的 CSS-in-JS 库,支持用字符串或对象编写样式,并可预测地组合样式。

Star
18,018
Fork
1,137
未关闭 Issue
399
最近提交
2个月前

这是什么?

Emotion 允许你在 JavaScript 中用字符串或对象语法编写组件样式。样式在运行时生成并以 CSS 形式应用,因此可以直接根据 props 和状态改变外观,无需维护单独的样式表。

它的样式组合机制旨在避免 CSS 选择器优先级带来的冲突,组合后的表现更可预测。调试时提供 source map 和组件标签,生产环境中会大量缓存已生成的样式。

核心包包括提供 css 属性与 jsx 工具的 @emotion/react,以及提供 styled-components 风格 API 的 @emotion/styled。可选的 Babel 插件可带来进一步的优化与定制。

核心功能

  • 01支持字符串和对象两种样式书写方式。
  • 02提供 css 属性以及 styled-components 风格的 API。
  • 03样式组合可预测,避免选择器优先级问题。
  • 04提供 source map 和标签,便于调试。
  • 05生产环境中大量缓存样式。
  • 06可选的 Babel 插件,提供额外优化。

适用场景

  • 为 React 应用编写基于 props 或动态变化的样式。
  • 构建可组合复用的组件库样式。
  • 从独立样式表迁移到与组件同位置的样式写法。

快速上手

  1. 1

    使用 npm 安装核心包

    npm install --save @emotion/react
  2. 2

    从 Emotion 导入 jsx 并在组件上使用 css 属性

使用前须知

  • Babel 插件是可选的,但部分功能需要它。

标签

常见问题

emotion 是什么?
一个高性能、灵活的 CSS-in-JS 库,支持用字符串或对象编写样式,并可预测地组合样式。 Emotion 允许你在 JavaScript 中用字符串或对象语法编写组件样式。样式在运行时生成并以 CSS 形式应用,因此可以直接根据 props 和状态改变外观,无需维护单独的样式表。
emotion 可以免费使用吗?用的什么许可证?
emotion 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
emotion 还在维护吗?
半年内有更新。emotion 最近一次提交是在 2026年8月28日。
emotion 适合用来做什么?
为 React 应用编写基于 props 或动态变化的样式。 构建可组合复用的组件库样式。 从独立样式表迁移到与组件同位置的样式写法。
emotion 怎么安装和运行?
使用 npm 安装核心包: npm install --save @emotion/react 从 Emotion 导入 jsx 并在组件上使用 css 属性
在哪里获取 emotion?
源代码和安装说明在 GitHub 上:https://github.com/emotion-js/emotion

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目