React-如何使CSS类更具选择性并覆盖默认类



我刚开始使用React,但之前有一些网络背景。

我有一个默认组件,比如.title,我想覆盖它的一些内容,可能是background-colorfont-size,用于它在这个特定页面中的情况。

在";正常的";web,我只需编写一个类.special-page .title.title.special-version并覆盖我想要的内容。

据我所知,由于react的模块CSS系统,这是不可能的。我正在使用scss,我甚至不能使用嵌套类,这很痛苦,但我已经习惯了

正确的方法是什么?

我尝试了classNamescn(defaultStyle.title, styles.special_title),但基于import的顺序和cn中的类的顺序来表示css类中的哪一个的优先级似乎是随机的。

有没有一种可靠的方法可以让一个类修改基本类,而不必到处放!important

谢谢!

我猜您对css模块的解释不正确。您在module.css中定义的所有类都只会影响相应的组件。这是因为在呈现组件时,react采用您定义的类名,并通过在其上添加哈希来操纵它们(使其特定于组件(。要使用通用类名,请将css作为常规导入导入(不是作为module.css,而是作为filename.css(。如果您在index.js或app.js 中使用placc,则通用css类将在整个应用程序中可用

现在,您可以在泛型css中定义您的.title,在模块中定义.special-version。然后在类名中使用它们作为常规的htmltitle special-version。它将同时采用.title样式和.special-version样式。将要覆盖的规则放在.special-version

最新更新