什么是module css?
我们在学习React 的时候,经常看到module CSS的说法。
请问下我们自定义组件,将CSS文件放在index.tsx同级别目录下是否属于module CSS呢?
.CustomComponent
|
--- index.tsx
--- index.css
什么是module css?
我们在学习React 的时候,经常看到module CSS的说法。
请问下我们自定义组件,将CSS文件放在index.tsx同级别目录下是否属于module CSS呢?
.CustomComponent
|
--- index.tsx
--- index.css
在 React 中,如果你直接在文件中引入 index.css,当父组件和子孙组件的 class 属性相同时,那么会发生 CSS 样式覆盖的问题。如果解决样式覆盖的问题呢?
1.使用 BEM 来解决命名冲突,人为手动为每个 class 属性起一个唯一的名字;
2.使用 CSS Modules,自动对 CSS 的 class 属性重命名,保证每一个 class 属性的唯一性;
手动维护 class 属性的唯一性太累了,所以使用 CSS Modules 是最方便的,CSS Modules 的出现,就是为了解决 CSS 在 React 中的样式冲突和覆盖等问题的。
10 回答11.3k 阅读
5 回答4.9k 阅读✓ 已解决
4 回答3.2k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
3 回答5.2k 阅读✓ 已解决
1 回答3.4k 阅读✓ 已解决
3 回答2.4k 阅读✓ 已解决
module CSS是一种将CSS模块化的技术,它可以让你在一个文件中定义样式,并且保证这些样式只会作用于当前组件。
这种方式的好处是可以避免全局命名空间的污染,而且可以使得每个组件都能独立定义样式,方便组件的复用和维护。
在使用module CSS时,你需要先安装支持此功能的CSS预处理器,如Sass或Less。然后,在定义样式时,你需要将CSS文件的扩展名改为.module.scss或.module.less等,注意,样式文件的后缀必须为
.module.css
的形式。如果不符合这些条件,CSS module功能会自动忽略该文件。