推荐答案
在 React 中使用 Emotion 编写 CSS 可以通过以下几种方式实现:
1. 使用 css
函数
-- -------------------- ---- ------- --- ---------------- -------------- -- ------ - --- - ---- ----------------- ----- ----- - ---- ------ ---- ---------- ----- -- -------- ------------- - ------ ---- ------------------ --------------- -
2. 使用 styled
组件
-- -------------------- ---- ------- --- ---------------- -------------- -- ------ ------ ---- ------------------ ----- --------- - ----------- ------ ----- ---------- ----- -- -------- ------------- - ------ ----------------- --------------------- -
3. 使用 Global
组件定义全局样式
-- -------------------- ---- ------- --- ---------------- -------------- -- ------ - ------- --- - ---- ----------------- ----- ------------ - ---- ---- - ------- -- -------- -- - -- -------- ------------- - ------ - -- ------- --------------------- -- ----------- ------ -------------- --- -- -
本题详细解读
1. css
函数
css
函数是 Emotion 提供的一个工具函数,允许你在 JSX 中直接编写 CSS 样式。通过 css
函数定义的样式可以直接应用于组件的 css
属性中。这种方式非常适合在组件内部定义局部样式。
2. styled
组件
styled
是 Emotion 提供的一个高阶组件,允许你通过模板字符串的方式定义样式,并生成一个带有样式的 React 组件。这种方式非常适合创建可重用的样式组件。
3. Global
组件
Global
组件用于定义全局样式。通过 Global
组件,你可以在应用的任何地方定义全局的 CSS 样式,这些样式将应用于整个应用。这种方式非常适合定义全局的样式规则,如重置样式或全局字体设置。
注意事项
- 在使用 Emotion 时,需要在文件顶部添加
/** @jsxImportSource @emotion/react */
注释,以确保 Babel 正确解析 JSX 和 Emotion 的css
属性。 - Emotion 支持 CSS-in-JS 的所有特性,包括嵌套、伪类、媒体查询等,因此你可以像在普通 CSS 中一样编写复杂的样式规则。