基于className ,通过className在style中给该class名的DOM元素添加样式
1 <style> 2 .title{ 3 color:blue; 4 } 5 </style> 6 7 8 <div id=‘app‘></div> 9 //创建一个叫App类,继承(extends)了react中创建组件的方法(component) 10 class App extends React.Component{ 11 constructor(props){ 12 super(peops) 13 } 14 render(){ //类里面负责构建HTML的位置,render渲染 15 return( //返回HTML结构 16 <div className="title">高版本</div> 17 18 ) 19 } 20 } 21 22 //将虚拟DOM以组件标签的形式渲染到id为‘app‘的真实DOM之间 23 ReactDOM.render(<App/>,document.getElementById(‘app‘))
Facebook主张的是行间样式,直接给对应的DOM元素添加style属性,遵循react的规则,写在{ }当中。
1 <div id=‘app‘></div> 2 3 class App extends React.Component{ 4 constructor(props){ 5 super(peops) 6 } 7 render(){ 8 return( 9 10 <div style={{color:‘red‘}}>hello 行间样式</div> 11 12 ) 13 } 14 } 15 16 //将虚拟DOM以组件标签的形式渲染到id为‘app‘的真实DOM之间 17 ReactDOM.render(<App/>,document.getElementById(‘app‘))
可以通过定义全局变量的方法来定义一个css样式,适用该样式的DOM元素可直接调用。
原型链中需要注意添加样式的位置,调用时通过this,this指向该组件
<div id=‘app‘></div> //全局样式方法 var color={color:‘red‘} class App extends React.Component{ constructor(props){ super(peops) } render(){ return( <div style={color}>react全局行间样式</div> //this 指向组件本身 <div style={this.col}>原型样式</div> ) } } //原型链样式的写法,在创建完以及渲染中间的位置添加原型上的样式 App.prototype.col={ color:pink } //将虚拟DOM以组件标签的形式渲染到id为‘app‘的真实DOM之间 ReactDOM.render(<App/>,document.getElementById(‘app‘))
以上是react中写css样式的三种方式,有什么遗漏或者不正确的地方欢迎大家指正。
原文:https://www.cnblogs.com/HannahFu/p/11279566.html