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