是否可以在一个CSS模块中使用来自另一个CSS模块的类?
问题是CSS Modules正在进行自己的类名转换,因此来自A.css的.class将变为A-module--class-something,而来自B.css的.class将变为B-module--class--somethingElse,它们将被视为单独的类。
A.css
.class {
(...)
}B.css
/* .class is the same class as in A.css */
.class > .someOtherClass {
}发布于 2020-08-01 07:52:46
你是想要这样的东西吗?
A.css
.class {
/* rule-set */
}B.css
@import "A.css"
.class > .someOtherClass {
/* rule-set */
}发布于 2020-08-01 07:53:31
假设A和B都是CSS文件,如果你链接到这两个文件(在头部),它们都会正常运行。
重要的是要注意,如果他们说冲突的信息(他们的目标是相同的样式属性),其中一个样式将不会被应用(当查看开发工具时,它将被划掉)。你可以通过在你的样式上使用!important关键字来解决这个问题。但是要谨慎使用这个关键字,因为它不被认为是最佳实践。
正如您在下面的代码片段中所看到的,它选择一个来使用。可以在右侧看到文件名。

发布于 2021-09-01 04:59:38
我想在css-modules中你能做的最好的事情就是使用compose:
https://www.javascriptstuff.com/css-modules-by-example/#example-5-composition
https://stackoverflow.com/questions/63200369
复制相似问题