【发布时间】:2020-08-08 21:53:56
【问题描述】:
我想在 react JS 中设置组件的样式。我尝试了几种方法来做到这一点。当我尝试创建一个 CSS 对象并将其应用到同一个 JS 文件中的组件时,它就可以工作了。但是,当我尝试从外部 CSS 文件应用 CSS 并将其导入 JS 文件时,它就不起作用了。而且我还尝试将该文件保存为filename.module.css。但这对我没有帮助。
已安装的节点模块列表及其版本如下。
> @material-ui/core@4.9.11
> @material-ui/icons@4.9.1
> firebase@7.14.1
> react@16.13.1
> react-dom@16.13.1
> react-router-dom@5.1.2
> react-scripts@3.4.1
在react-script 模块的webpack.config.js 文件中,我找到了以下代码:
const cssRegex = /\.css$/;
const cssModuleRegex = /\.module\.css$/;
const sassRegex = /\.(scss|sass)$/;
const sassModuleRegex = /\.module\.(scss|sass)$/;
所以我猜我的 react 项目支持 CSS 文件以及 SCSS 和 SASS 文件。我理解对了吗?
header.module.css文件:
.heading {
color: '#3592EF';
font-weight: '600';
letter-spacing: '2px';
}
.navButton {
color: '#444';
font-size: '16px';
padding: '4px 8px';
margin: 'auto';
margin-right: '15px';
}
Header.js文件:
import React from 'react';
import { Button } from '@material-ui/core';
import styles from './header.module.css';
export default class Header extends React.Component {
render() {
return (
<div>
<span className={styles.headling}>Heading element</span>
<Button className={styles.navButton}>Home</Button>
<Button className={styles.navButton}>About</Button>
</div>
);
}
}
输出带有标题元素和主页、关于按钮。但没有 CSS 样式。
我该如何解决这个问题?
谢谢。
【问题讨论】:
-
你试过
import "./header.module.css"和<span className="headling">吗? -
是的。我试过了。它没有用。
标签: javascript reactjs material-ui react-dom react-css-modules