上一章ReactJS实战教程请查看:React路由router作用和用法
React中的CSS用于设置React应用程序或组件的样式,style属性是React应用程序中最常用的样式化属性,它在呈现时添加动态计算的样式。它接受驼峰格式属性中的JavaScript对象,而不是CSS字符串。有许多方法可以使用CSS将样式添加到React应用程序或组件中。在这里,我们将主要讨论四种风格的反应组件,如下所示:
- 内联样式
- CSS样式表
- CSS模块
- 样式化组件
例子
App.js
import React from 'react';
import ReactDOM from 'react-dom';
class App extends React.Component {
render() {
return (
<
div>
<
h1 style={{color: "Green"}}>Hallo srcmini!<
/h1>
<
p>Hola, IT开发教程网.<
/p>
<
/div>
);
}
}
export default App;
注意:在上面的例子中,我们使用了两个大括号:
< h1 style={{color: “ Green” }}>Hallo srcmini!< /h1>。
这是因为,在JSX中,JavaScript表达式是写在花括号内的,JavaScript对象也使用花括号,所以上面的样式是写在两组花括号{{}}内的。
驼峰属性名
如果属性有两个名称,如background-color,则必须使用驼峰大小写语法编写。
例子
App.js
import React from 'react';
import ReactDOM from 'react-dom';
class App extends React.Component {
render() {
return (
<
div>
<
h1 style={{color: "Red"}}>Hallo srcmini!<
/h1>
<
p style={{backgroundColor: "lightgreen"}}>Hola, IT开发教程网.<
/p>
<
/div>
);
}
}
export default App;
使用JavaScript对象
内联样式还允许我们创建带有样式信息的对象,并在style属性中引用它。
例子
App.js
import React from 'react';
import ReactDOM from 'react-dom';
class App extends React.Component {
render() {
const mystyle = {
color: "Green",
backgroundColor: "lightBlue",
padding: "10px",
fontFamily: "Arial"
};
return (
<
div>
<
h1 style={mystyle}>Hola, srcmini!<
/h1>
<
p>IT开发教程网.<
/p>
<
/div>
);
}
}
export default App;
2. CSS样式表你可以在单独的文件中为React应用程序编写样式,并使用.css扩展名保存文件。现在,你可以在应用程序中导入这个文件。
例子
App.js
import React from 'react';
import ReactDOM from 'react-dom';
import './App.css';
class App extends React.Component {
render() {
return (
<
div>
<
h1>Hello srcmini<
/h1>
<
p>React开发教程.<
/p>
<
/div>
);
}
}
export default App;
App.css
body {
background-color: #008080;
color: yellow;
padding: 40px;
font-family: Arial;
text-align: center;
}
Index.html
<
!DOCTYPE html>
<
html>
<
head>
<
meta charset="utf-8" />
<
meta name="viewport"
content="width=device-width, initial-scale=1" />
<
title>React App<
/title>
<
/head>
<
body>
<
div id="app"><
/div>
<
/body>
<
/html>
3.CSS模块CSS模块是向应用程序添加样式的另一种方式。它是一个CSS文件,所有的类名和动画名在默认情况下都是局部作用域的。它只对导入它的组件可用,这意味着未经你的许可,你添加的任何样式都不能应用于其他组件,而且你永远不必担心名称冲突。你可以使用.module.css扩展名(如myStyles.module.css名称)来创建CSS模块。
例子
App.js
import React from 'react';
import ReactDOM from 'react-dom';
import styles from './myStyles.module.css';
class App extends React.Component {
render() {
return (
<
div>
<
h1 className={styles.mystyle}>Hello srcmini<
/h1>
<
p className={styles.parastyle}>IT开发教程网 - ReactJS开发教程.<
/p>
<
/div>
);
}
}
export default App;
myStyles.module.css
.mystyle {
background-color: #cdc0b0;
color: Red;
padding: 10px;
font-family: Arial;
text-align: center;
}.parastyle{
color: Green;
font-family: Arial;
font-size: 35px;
text-align: center;
}
4. 样式化的组件styled-components是React的库,它使用加强CSS设计应用程序中的React组件系统的样式,这些组件系统是用JavaScript和CSS混合编写的。
styled-components提供:
- 自动关键的CSS
- 没有类名错误
- 更容易删除CSS
- 简单的动态样式
- 无痛的维护
styled-components库在React应用程序中安装一个命令。这是:
$ npm install styled-components --save
例子
【React使用CSS样式化组件的4种方式 – ReactJS实战教程】在这里,我们通过选择特定的HTML元素来创建一个变量,比如< div>、< Title>和< paragraph>,在这里我们存储样式属性。现在我们可以使用变量名作为包装器< Div>< /Div>类React组件。
App.js
import React from 'react';
import ReactDOM from 'react-dom';
import styled from 'styled-components';
class App extends React.Component {
render() {
const Div:any = styled.div`
margin: 20px;
border: 5px dashed green;
&
:hover {
background-color: ${(props:any) => props.hoverColor};
}
`;
const Title = styled.h1`
font-family: Arial;
font-size: 35px;
text-align: center;
color: palevioletred;
`;
const Paragraph = styled.p`
font-size: 25px;
text-align: center;
background-Color: lightgreen;
`;
return (
<
div>
<
Title>样式化组件例子<
/Title>
<
p><
/p>
<
Div hoverColor="Orange">
<
Paragraph>Hello srcmini!!<
/Paragraph>
<
/Div>
<
/div>
);
}
}
export default App;
推荐阅读
- React使用动画组件 – ReactJS实战教程
- React路由router作用和用法 – ReactJS实战教程
- React使用Fragment – ReactJS实战教程
- React Refs的作用和用法详解 – ReactJS实战教程
- React key的作用和用法 – ReactJS实战教程
- React使用列表和map()函数 – ReactJS实战教程
- React使用5种条件渲染 – ReactJS实战教程
- React事件和事件处理 – ReactJS实战教程
- React表单form用法 – ReactJS实战教程