在我的 React 应用程序中,我尝试通过将样式分配给类来从 CSS 样式表加载 html 元素的样式。
我可以获得元素的样式,例如 h2、p、td、working
问题:
我无法为课程设置样式。
--- 更新:下面的代码似乎正在工作,我不确定是什么导致它之前失败。如果可以的话我会删除这个问题。感谢那些帮助过的人——
应用程序.js
import React, { Component } from 'react';
import './App.css';
class App extends Component {
constructor(props) {
super();
}
}
render() {
return (
<div className="App">
<div className="hide_me">
<h2>This text should not be visible because it has className "hide_me"</h2>
</div>
</div>
);
}
}
export default App;
Run Code Online (Sandbox Code Playgroud)
应用程序.css
h2 {
color: red;
}
.hide_me {
display: none;
}
Run Code Online (Sandbox Code Playgroud)
目前的行为
预期行为
没有文字!
有没有一种解决方案可以让我在不安装新模块的情况下使用 CSS 样式表?
如果没有有效的示例,很难说,但这里有一个隐藏/显示切换示例(单击Run code snippet)。尝试将此示例复制/粘贴到您的项目中,看看它是否有效。如果没有,那么您的项目中存在一些未正确设置的内容,其中样式表未正确导入。
class App extends React.Component {
constructor(props) {
super(props);
this.state = { clicks: 0, hidden: false };
this.handleIncreaseClicks = this.handleIncreaseClicks.bind(this);
this.handleButtonDisplay = this.handleButtonDisplay.bind(this);
}
handleIncreaseClicks() {
this.setState(state => ({ clicks: state.clicks + 1 }));
}
handleButtonDisplay() {
this.setState(state => ({ hidden: !state.hidden }));
}
render() {
return(
<React.Fragment>
<div className={`container ${this.state.hidden ? "hide-me" : ""}`}>
<p className="label">Clicks:</p>
<button
className="clicks"
onClick={this.handleIncreaseClicks}
>
{this.state.clicks}
</button>
<br />
</div>
<button
className="hide-show-button"
onClick={this.handleButtonDisplay}
>
{this.state.hidden ? "Show" : "Hide"} Clicks
</button>
</React.Fragment>
)
}
}
ReactDOM.render(
<App />,
document.getElementById('root')
);Run Code Online (Sandbox Code Playgroud)
.container {
display: flex;
justify-content: flex-start;
align-items: center;
}
.label {
font-weight: 700;
margin-right: 10px;
}
.hide-show-button {
cursor: pointer;
margin: 0 5px;
text-align: center;
font-size: 14px;
width: 100px;
padding: 4px;
border-radius: 3px;
border: 1px solid #333333;
transition: all 0.2s ease-in-out;
}
.hide-show-button {
background-color: #f56342;
color: white;
}
.hide-show-button:hover {
background-color: #be391c;
}
.clicks {
cursor: pointer;
font-size: 14px;
width: 100px;
padding: 4px;
border-radius: 3px;
border: 1px solid #333333;
text-align: center;
transition: all 0.2s ease-in-out;
}
.clicks:hover {
background-color: #c1c1c1;
}
.clicks:focus, .hide-show-button:focus {
outline: 0;
}
.hide-me {
display: none
}Run Code Online (Sandbox Code Playgroud)
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/16.6.3/umd/react.production.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.6.3/umd/react-dom.production.min.js"></script>
<div id='root'>
</div>Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
38033 次 |
| 最近记录: |