您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

如何使React CSS导入组件范围?

如何使React CSS导入组件范围?

CSS模块是一个CSS文件认情况下,所有类名和动画名都在本地作用域内。所有URL(url(…))和@imports均为模块请求格式(./xxx和../xxx表示相对,xxx和xxx

/ yyy表示在模块文件夹中,即在node_modules中)。

这是一个简单的示例:

假设我们有一个类似的React组件:

import React from 'react';
import styles from './styles/button.css';

class Button extends React.Component {
  render() {
    return (
      <button className={styles.button}>
        Click Me
      </button>
    );
  }
}
export default Button;

和一些CSS ./styles/button.css

.button {
  border-radius: 3px;
  background-color: green;
  color: white;
}

CSS模块执行完魔术后,生成的CSS将类似于:

.button_3GjDE {
  border-radius: 3px;
  background-color: green;
  color: white;
}

其中的_3DjDE随机生成的哈希-为CSS类指定一个唯一的名称

一个简单的替代方法是避免使用通用选择器(如pcode等),并采用了组件和元件基于类的命名约定。甚至像BEM这样的约定也将有助于防止您遇到的冲突。

将其应用于您的示例,您可以使用:

.aboutContainer {
  # Some style
}

.aboutContainer__code {
  # Some style
}

基本上,您需要设置样式的所有元素都将具有唯一的类名。

CSS 2022/1/1 18:19:17 有534人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶