例如,我如何用类"模块";根据模块特定css和类";全局";从全局css?
<p className={styles.module}>Hello World!</p>
<p className={global}>Hello World!</p>
我想是这样的:
<p> className={styles.module, global}>Hello World!</p>
是的,您可以将两者结合:
对于全局CSS,您可以将其添加到pages/_app.js
文件中,如下所示:
import '../styles.css'
对于组件级CSS,您可以将其添加到组件文件中,如下所示:
import styles from './Component.module.css'
让我们想象一下,这些CSS文件的内容是:
/* style.css */
.classFromGlobalCSS {
color: white;
}
/* Component.module.css */
.classFromComponentCSS {
background-color: black;
}
然后在你的组件中,你可以使用它将两个来源的样式放在同一段上:
<p className={`classFromGlobalCSS ${styles.classFromComponentCSS}`}>
Hello World!
</p>
您可以找到有关内置CSS支持文档的更多信息。
最简单的方法是使用模板文字:
<p className={`${styles.module} ${global}`}>Hello World!</p>
对于更复杂的用法,可以使用clsx模块。
我使用的NextJS与Tailwind CSS可能会遇到同样的问题。
在我的例子中,我将classNames
扩展为一个数组,并使用.join(' ')
将它们合并为一个字符串。
<p className={[styles.module, global.text, 'px-3 py-3'].join(' ')}>Hello World!</p>