查看: 78|回复: 0

react中怎么写css样式?

[复制链接]

5

主题

0

回帖

0

积分

热心网友

金币
0
阅读权限
220
精华
0
威望
0
贡献
0
在线时间
0 小时
注册时间
2010-4-7
发表于 2019-7-31 22:27:00 | 显示全部楼层 |阅读模式

JSX基本语法中关于react如何写css样式主要有三种方法

1、基于class --(className)

基于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'))

2、基于inner css (facebook 主张的方式) 行间样式(json)

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'))

3、原型链和全局变量

可以通过定义全局变量的方法来定义一个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
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

相关侵权、举报、投诉及建议等,请发 E-mail:qiongdian@foxmail.com

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部