(1)內聯樣式css
注:樣式要採用駝峯命令發,若是非要使用原生css樣式寫法,需加引號html
缺點:一些動畫,僞類不能使用react
class App extends Component { constructor(props) { super(props); this.state = {date: new Date()}; } render() { const styleCss = { header : { color: 'red', backgroundColor: '#ccc', "padding-top": '20px', paddingBottom: '20px' } } return ( <div className="App"> <p style={styleCss.header}>這是一段文字,哈哈</p> </div> ); } }
內聯樣式中的表達式:npm
class App extends Component { constructor () { super(); this.state = { minHeader: false }; }; switchHeader () { this.setState({ minHeader:!this.state.minHeader }) } render() { const styleCss = { header: { cursor: 'pointer', backgroundColor: 'red', color: '#fff', padding: (this.state.minHeader) ? '10px' : '30px' } }; return ( <div className="App"> <p style={styleCss.header} onClick={this.switchHeader.bind(this)}>這是一段文字,哈哈</p> </div> ); } }
(2)引入css文件babel
在該文件夾下使用import引入或者在index.html上面使用link引入模塊化
注:給html標籤添加class屬性需使用className工具
import './style/style.css' //建立的css文件 class App extends Component { render() { return ( <div> <p className="blueColor">這是一段文字,哈哈</p> </div> ); } }
(3)CSS模塊化動畫
安裝依賴 style-loader、css-loaderui
babel-plugin-react-html-attrs(若是安裝了這個插件,className 能夠直接寫成 class)this
優勢:
npm install style-loader css-loader babel-plugin-react-html-attrs --save
render() { var colorCss = require('./style/style.css') return ( <div className="App"> <p className={colorCss.blueColor}></p> <p >這是一段文字,哈哈</p> </div> ); }
(4)JSX樣式與Css樣式互轉(內聯樣式模式)
在線轉換工具:https://staxmanade.com/CssToReact/
render() { const styleCss = { header : { color: 'red', backgroundColor: '#ccc', "padding-top": '20px', paddingBottom: '20px' } } return ( <div className="App"> <p style={styleCss.header}>這是一段文字,哈哈</p> </div> ); }