首页 > 其他分享 >React笔记-样式(二)

React笔记-样式(二)

时间:2023-05-09 21:15:21浏览次数:40  
标签:样式 笔记 React learn import class css

React学习笔记-样式(二)

内联样式

import React from "react";

export default class LearnStyle extends React.Component {
  
  render () {
    return (
      <div>
        {/* 以下两种方法都可以 
        一种不用引号 将css以小驼峰方式写
        另一种加上引号 写法和css一样
        */}
        {/* 对象也是变量 所以要在外层加一个{} */}
        <div style={{color : 'red'}}>内联样式1</div>
        <div style={{'margin-top' : '20px'}}>内联样式2</div>
      </div>
    )
  }
}

css样式表

.blue {
  color: blue;
}
import React from "react";
// 引入css样式 不要忘记.css后缀
import './learn-class-name.css'

export default class LearnStyle extends React.Component {
  
  render () {
    return (
      <div>
        {/* 此方法有样式污染问题 */}
        <div className="blue">存在污染问题样式</div>
      </div>
    )
  }
}

css样式污染

原因: React最终编译打包后都在一个html页面中 如果在两个组件中取一样类名 那么后者会覆盖前者 默认情况下 只要导入了组件 不管组件有没有被使用 组件的样式都会生效

CSS Modules解决样式污染问题

CSS Modules 保证类名唯一性 从而避免样式冲突问题

/* 创建名为 learn-className.module.css 的样式文件 */
.green {
  color: green;
}
import React from "react";
// 引入learn-className.module.css的样式文件
// 引入的时候需要设置一个变量接收刚定义的css module模块
// Styles是一个对象,里面存放的就是我们定义的样式
import Styles from './learn-class-name.module.css'

export default class LearnStyle extends React.Component {
  
  render () {
    return (
      <div className="learn-style">
        {/* Styles以对象方式存在 需要用到哪个样式就用对象语法调用 */}
        <div className={Styles.green}>官方解决污染问题方法</div>

      </div>
    )
  }
}

Sass框架解决样式污染问题

a. 安装

npm install sass

b. 创建.scss文件

// 创建learn-className.scss
.learn-style {
  .yellow {
    color: yellow;
  } 
}

c. 组件中引入

import React from "react";
import './learn-class-name.scss'

export default class LearnStyle extends React.Component {
  
  render () {
    return (
      <div className="learn-style">
        {/* 此方法是比较好用的解决污染问题的方法 */}
        <div className="yellow">css框架sass解决污染问题方法</div>
      </div>
    )
  }
}

标签:样式,笔记,React,learn,import,class,css
From: https://www.cnblogs.com/SpicyPeper/p/17386276.html

相关文章

  • React笔记-渲染列表Key(五)
    React学习笔记-渲染列表Key(五)渲染列表需要添加key属性importReactfrom"react"exportdefaultclassLearnKeyextendsReact.Component{state={infos:[{name:'Bob',age:18},{name:'kitty',age:20},{name:......
  • React笔记-state(四)
    React学习笔记-state(四)概念state的主要作用是用于组件保存控制以及修改自己的状态它算是组件的私有属性不可通过外部访问和修改只能通过组件内部的this.setState来修改修改state属性会导致组件的重新渲染注意:如果直接通过this.state.xxx的方式修改,组件不会重新渲染,但......
  • 中国剩余定理学习笔记
    给定\(n\)组非负整数\(a_i,b_i\),其中\(b_i\)两两互质,求解关于\(x\)的方程组的最小非负整数解。\(\begin{cases}x\equivb_1\({\rmmod}\a_1)\\x\equivb_2\({\rmmod}\a_2)\\...\\x\equivb_n\({\rmmod}\a_n)\end{cases}\)这样的题怎么做呢?首先给出中......
  • 最小表示法 学习笔记
    描述:给出一个字符串s,将s循环移位若干次之后使得字符串的字典序最小。朴素的思路:对于每一个位置为结果字符串的开头去暴力做。显然最坏复杂度O(|S|^2)于是考虑优化这个过程。假设对于不同的两个下表i和j,如果有s[i,i+1,..,i+k-1]=s[j,j+1,..,j+k-1]和s[i+k]>s[j+k],那这个时候i已......
  • 笔记本自带键盘如何关闭
    左下角搜索栏中搜索cmd,以管理员身份运行在弹出的窗口中将下面这段代码输入进去,并回车。scconfigi8042prtstart=disabled重启,笔记本自带键盘关闭如果想恢复,只要外置键盘以同样方法输入下面这个代码,重启即可。scconfigi8042prtstart=auto......
  • 【笔记】编译原理 - 中
    5语法制导翻译考虑语义分析——为CFG中的文法符号设置语义属性;在语法分析树上,语义属性值用与文法符号所在产生式(语法规则)相关联的语义规则来计算语义规则同语法规则(产生式)相联系,涉及概念:语法制导定义(Syntax-DirectedDefinitions,SDD)语法制导翻译方案(Syntax-Directe......
  • 论文阅读笔记《Training Socially Engaging Robots Modeling Backchannel Behaviors w
    TrainingSociallyEngagingRobotsModelingBackchannelBehaviorswithBatchReinforcementLearning训练社交机器人:使用批量强化学习对反馈信号行为进行建模发表于TAC2022。HussainN,ErzinE,SezginTM,etal.TrainingSociallyEngagingRobots:ModelingBackc......
  • ReactHub:我用 ChatGPT 搞了一个 React 的资源导航网站,谁有我用心啊!
    大家好,我是DOM哥。图谱年年有,今年我来盘!之前已经盘完了Vue的技术图谱,今天来盘React的。我用ChatGPT开发了一个React的资源导航网站。不管你是资深React用户,还是刚入门想学习React的小白,这个网站都能帮助到你。网站地址:https://dombro.site/react#/react项目托管......
  • 扩展中国剩余定理学习笔记
    给定\(n\)组非负整数\(a_i,b_i\),求解关于\(x\)的方程组的最小非负整数解。\(\begin{cases}x\equivb_1\({\rmmod}\a_1)\\x\equivb_2\({\rmmod}\a_2)\\...\\x\equivb_n\({\rmmod}\a_n)\end{cases}\)首先我们看一下只有1个方程的情况:$x\equivb_......
  • uniapp 中的 rich-text 富文本 怎样编辑修改 样式
    1.首先在HTML中 <rich-text:nodes="formatRichText(newObjc)"></rich-text>2.在 methods中写入方法formatRichText(html){//html就是你要传进来地富文本参数//去掉img标签里的style、width、height属性......