残雨斜阳 發表於 2019-7-31 22:27:00

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> &lt;style&gt;
<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> &lt;/style&gt;
<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> &lt;div id='app'&gt;&lt;/div&gt;
<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>         &lt;divclassName="title"&gt;高版本&lt;/div&gt;
<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(&lt;App/&gt;,document.getElementById('app'))</pre>
</div>
<h3>2、基于inner css (facebook 主张的方式) 行间样式(json)</h3>
<p>Facebook主张的是行间样式,直接给对应的DOM元素添加style属性,遵循react的规则,写在{&nbsp; }当中。</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 128, 128, 1)"> 1</span> &lt;div id='app'&gt;&lt;/div&gt;
<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>          &lt;div style={{color:'red'}}&gt;hello 行间样式&lt;/div&gt;
<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(&lt;App/&gt;,document.getElementById('app'))</pre>
</div>
<h3>3、原型链和全局变量</h3>
<p>可以通过定义全局变量的方法来定义一个css样式,适用该样式的DOM元素可直接调用。</p>
<p>原型链中需要注意添加样式的位置,调用时通过this,this指向该组件</p>
<div class="cnblogs_code">
<pre>&lt;div id='app'&gt;&lt;/div&gt;
<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>&lt;div style={color}&gt;react全局行间样式&lt;/div&gt;
         <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">this 指向组件本身</span>
         &lt;div style={<span style="color: rgba(0, 0, 255, 1)">this</span>.col}&gt;原型样式&lt;/div&gt;
<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(&lt;App/&gt;,document.getElementById('app'))</pre>
</div>
<p>以上是react中写css样式的三种方式,有什么遗漏或者不正确的地方欢迎大家指正。</p><br><br>
来源:https://www.cnblogs.com/HannahFu/p/11279566.html
頁: [1]
查看完整版本: react中怎么写css样式?