国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

node.js|vue.js|jquery|angularjs|React|json|js教程|

香港云服务器
服務(wù)器之家 - 編程語言 - JavaScript - React - 如何用react優(yōu)雅的書寫CSS

如何用react優(yōu)雅的書寫CSS

2022-03-03 16:57ws_qy React

這篇文章主要介紹了如何用react優(yōu)雅的書寫CSS,幫助大家更好的理解和學(xué)習(xí)使用react,感興趣的朋友可以了解下

1.內(nèi)聯(lián)樣式

優(yōu)點:這種方式較為簡單,一目了然,給標(biāo)簽添加style屬性。

缺點: 這種方式可以造成項目結(jié)構(gòu)較為臃腫,造成css命名沖突。

import React, { Component } from "react"
import PropTypes from "prop-types"
export default class index extends Component {
    static propTypes = {
     title: PropTypes.string
    }
    render() {
        const h1Style={textAlign:"center",marginBottom:"20px",lineHeight:"35px",
        height:"30px"}
        const {title}=this.props
        return (
         <div>
             <h1 style={h1Style}>{title}</h1>
             <hr/>
         </div>
        )
    }
}

2.使用import導(dǎo)入方式

優(yōu)點:這種方式使用起來更加靈巧,類似于css中的外部引入

缺點:因為react樣式默認(rèn)是全局樣式,很有可能造成樣式?jīng)_突

使用:新建css文件,在jsx語法中通過className屬性設(shè)置類名,在css使用類名,這種方式可以使用三元表達(dá)式,通過定義變量來選擇類名。

import React, { Component } from "react"
import "./index.css"
export default class index extends Component {
    state={
        flag:true
    }
changeColor=()=>{
    this.setState((state,props)=>{
        return{
           flag:!state.flag
        }
    })
}
    render() {
        const {flag}=this.state
        return (
            <div>
                <h1 className={flag?"blueColor":"redColor"}>莫等閑,白了少年頭</h1>
                <button onClick={this.changeColor} className="btnStyle">點擊更改字體顏色</button>
            </div>
        )
    }
}

.blueColor{
    color: blue;
}
.redColor{
    color: red;
}
.btnStyle{
    width: 260px;
    height: 50px;
    background-color: aqua;
    color: #fff;
    border:none;
    font-size: 28px;
    border-radius: 10px;
}

3.css module模塊導(dǎo)出

優(yōu)點:不會造成命名沖突,樣式局部有效

缺點:太過麻煩,每次都需要模塊導(dǎo)入導(dǎo)出,相當(dāng)于將css所有類名作為一個對象的屬性,在需要使用該對象屬性時,通過調(diào)用對象屬性的方式調(diào)用類名,解決css沖突的方式是給不同的類名添加前綴,類似于vue中給style設(shè)置module

使用:

  • 在cra腳手架中只要在父組件中引入了css樣式,那么這個樣式就是全局樣式
  • 在react中用模塊化來解決樣式?jīng)_突的問題
  • 在cra腳手架中,如果某個樣式文件要開啟模塊化,只需要把樣式文件命名為xx.module.css/xx.module.scss就可以了

如何用react優(yōu)雅的書寫CSS

import React,{FC,useState} from "react"
import Cmittem from "@/components1/cmittem"
import cssObj from "./cmtlist.module.scss"
const Cmtlist:FC<{}>=(props)=>{
    return (
        <div>
             <h1 className={cssObj.title}>評論列表</h1>
       
       </div>
    )
}

export default Cmtlist

4.使用styled-components

優(yōu)點: 使用模板字符串標(biāo)簽+樣式組合后是一個大寫字母開頭表示的組件,比如可以說是將react開發(fā)中最流行的一些寫法整合起來,對于React開發(fā)者來說,是非常好入手的。那么,在react組件中,使用外部css還是組件css,不同的開發(fā)者習(xí)慣不同。

使用:

需要安裝styled-components

npm i styled-components或者yarn add styled-components

vscode安裝插件便于書寫

如何用react優(yōu)雅的書寫CSS

4.1初步使用

import "antd/dist/antd.less"
import styled from "styled-components"
function App() {
 const HomeWrapper=styled.div`
 font-size:50px;
 color:red;
 span{
   color:orange;
   &.active{
      color:green;
   }
   &:hover{
     color:blue;
     font-size:40px;
   }
   &::after{
     content:"ssss"
   }
   }
 `
  return (
    <div className="App">
 <h1 >我是一個標(biāo)題</h1>
 <HomeWrapper>
 <h2>我是一個副標(biāo)題</h2>
   <span>輪播1</span>
   <span className="active">輪播2</span>
   <span>輪播3</span>
   <span>輪播4</span>
 </HomeWrapper>
    </div>
  );
}

export default App;

4.2通過attrs設(shè)置屬性

import "antd/dist/antd.less"
import styled from "styled-components"
function App() {
 const ChangeInput=styled.input.attrs({
   placeholder:"wangsu",
   bgColor:"red"
 })`
 background-color:#7a7ab4;
 color:${props=>props.bgColor}
 `
  return (
    <div className="App">
 <h1 >我是一個標(biāo)題</h1>
 <ChangeInput type="text"/>
    </div>
  );
}

export default App;

4.3css繼承

import React, { Component } from "react"
import styled from "styled-components"
const HYbutton=styled.button`
   color:red;
   border:1px solid #ccc;
   padding:10px 20px;
`
//這里使用繼承
const XLbutton=styled(HYbutton)`
background-color:blue;
`
export default class Button extends Component {

    render() {
        return (
            <div>
                <HYbutton>這是一個按鈕</HYbutton>
                <XLbutton>這是一個繼承按鈕</XLbutton>
            </div>
        )
    }
}

這幾天在開發(fā)項目時,一直使用的這種方式,感覺很新穎,雖然社區(qū)各有爭議,但是個人喜歡這種方式設(shè)置css,完全不用考慮全局的樣式問題

以上就是如何用react優(yōu)雅的書寫CSS的詳細(xì)內(nèi)容,更多關(guān)于react 書寫CSS的資料請關(guān)注服務(wù)器之家其它相關(guān)文章!

原文鏈接:https://juejin.cn/post/6950127217699455012

延伸 · 閱讀

精彩推薦
  • React必須要會的50個React面試題

    必須要會的50個React面試題

    如果你是一位有抱負(fù)的前端程序員并準(zhǔn)備面試,那么這篇文章很適合你。本文是你學(xué)習(xí)和面試 React 所需知識的完美指南。...

    瘋狂的技術(shù)宅9082022-02-23
  • React不用一行代碼,搞懂React調(diào)度器原理

    不用一行代碼,搞懂React調(diào)度器原理

    本文會講解React調(diào)度器Scheduler的實現(xiàn)原理。知道你不喜歡看大段的代碼,所以本文沒有一行代碼。文末有Scheduler的源碼地址,感興趣的話可以去看看。...

    魔術(shù)師卡頌10562021-12-26
  • ReactReact Fiber結(jié)構(gòu)的創(chuàng)建步驟

    React Fiber結(jié)構(gòu)的創(chuàng)建步驟

    這篇文章主要介紹了React Fiber結(jié)構(gòu)的創(chuàng)建步驟,幫助大家更好的理解和學(xué)習(xí)使用React,感興趣的朋友可以了解下...

    光光同學(xué)221677532022-03-02
  • ReactVite搭建React項目的方法步驟

    Vite搭建React項目的方法步驟

    這篇文章主要介紹了Vite搭建React項目的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面...

    Cookieboty5222022-02-24
  • ReactReact Hooks常用場景的使用(小結(jié))

    React Hooks常用場景的使用(小結(jié))

    這篇文章主要介紹了React Hooks常用場景的使用,根據(jù)使用場景分別進(jìn)行舉例說明,幫助你認(rèn)識理解并可以熟練運用 React Hooks 大部分特性,感興趣的可以了解...

    我是你的超級英雄5942022-02-28
  • React從頭寫React-like框架的工程搭建實現(xiàn)

    從頭寫React-like框架的工程搭建實現(xiàn)

    這篇文章主要介紹了從頭寫React-like框架的工程搭建實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友...

    Showonne3342022-03-02
  • ReactReactRouter的實現(xiàn)方法

    ReactRouter的實現(xiàn)方法

    這篇文章主要介紹了ReactRouter的實現(xiàn),本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下...

    WindrunnerMax6212022-01-06
  • React淺談react路由傳參的幾種方式

    淺談react路由傳參的幾種方式

    這篇文章主要介紹了淺談react路由傳參的幾種方式,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下...

    glorydx4602022-02-20
1133
主站蜘蛛池模板: av一区二区三区四区 | 午夜精品一区 | 午夜视频在线观看一区二区三区 | 久久久久国产一区二区三区 | 欧美日韩中文在线观看 | 亚洲精品久久久久久久久久久 | 成人黄色短视频在线观看 | 亚洲精品成人av | 国产一区二区三区午夜 | 手机av在线 | 久久国产视频精品 | www.日韩视频 | 日韩精品一区二区在线观看 | 亚洲字幕网 | 亚洲成人一区二区 | 国内成人综合 | 午夜私人影院在线观看 | 国产毛片欧美毛片久久久 | 亚洲国产精品99久久久久久久久 | 福利视频二区 | 亚洲青涩在线 | 成人黄色电影在线观看 | 中文字幕一区二区三区精彩视频 | 久久精品国产一区二区三 | 91精品国产九九九久久久亚洲 | 免费电影av| 中文字幕123| 久久久久久久久国产 | 91中文字幕网 | 亚洲伊人久久综合 | 久久不卡 | 国产精品视频久久久 | av网站观看 | 一级毛片免费版 | 久久99精品国产99久久6尤 | 国产成人99久久亚洲综合精品 | 色噜噜狠狠一区二区三区狼国成人 | 精品国产乱码久久久久久丨区2区 | 中文字幕一区在线观看视频 | 欧美黄色一级片免费看 | 日本一区二区三区免费观看 |