您的位置是:网站首页>Javascript编程Javascript编程

react中样式冲突怎么解决

少儿编程网2021-03-31 13:14:33Javascript编程 人已围观 来源:少儿编程 -用户投稿

简介解决react中样式冲突的方法:首先打开相应的代码文件;然后将类名前加上模块名,如将整个组件的样式表CSS类名前加上组件名LoveVideo即可。本教程操作环境:windows7系统、react17.0.1版本,该方法适用于所有品牌电脑。推荐:《javascript基础教程》解决react中样式冲突

解决react中样式冲突的方法:首先打开相应的代码文件;然后将类名前加上模块名,如将整个组件的样式表CSS类名前加上组件名LoveVideo即可。lQt少儿编程网-https://www.pxcodes.com

lQt少儿编程网-https://www.pxcodes.com

本教程操作环境:windows7系统、react17.0.1版本,该方法适用于所有品牌电脑。lQt少儿编程网-https://www.pxcodes.com

推荐:《javascript基础教程》lQt少儿编程网-https://www.pxcodes.com

解决react中样式冲突lQt少儿编程网-https://www.pxcodes.com

react在开发中很多有很多需要注意的地方,换句话说就是有很多小坑需要踩一踩,这里分享一下我遇到的一个小坑,就是样式冲突,这是一个值得注意的问题,首先看一下例子:lQt少儿编程网-https://www.pxcodes.com

有两个组件,一个叫做TestAComponent,另外一个叫做TestBComponent,在TestA组件中我写了一个背景色为蓝色的按钮,TestB中我写了一个背景色为红色的按钮。lQt少儿编程网-https://www.pxcodes.com

TestAComponent 组件A:lQt少儿编程网-https://www.pxcodes.com

class TestAComponent extends React.Component {
  render() {
    return (
      <div>
        <button className="box">背景为蓝色</button>
      </div>
    );
  }
}

TestA css,背景设置的为蓝色:lQt少儿编程网-https://www.pxcodes.com

.box{
  font-size: 20px;
  margin: 10px;
  padding: 20px;
  background-color: blue;
  border-radius: 10px;
}

TestB 组件B:lQt少儿编程网-https://www.pxcodes.com

class TestBComponent extends React.Component {
  render() {
    return (
      <div>
        <button className="box">背景为红色</button>
      </div>
    );
  }
}

TestB css,背景设置的为红色:lQt少儿编程网-https://www.pxcodes.com

.box{
  font-size: 20px;
  margin: 10px;
  padding: 20px;
  background-color: red;
  border-radius: 10px;
}

代码写好之后npm start一下,这是会发现浏览器里显示的效果是这样的:lQt少儿编程网-https://www.pxcodes.com

lQt少儿编程网-https://www.pxcodes.com

明明两个按钮设置了不同的背景色,为什么实际显示会这样呢?这是我们分析一下样式的设置,在标签中我们设置的class名为box,这是很多前端新人常用的命名方法,但是将不同组件的标签的class类名设置为相同的名字会造成样式冲突。lQt少儿编程网-https://www.pxcodes.com

解决此问题方法:lQt少儿编程网-https://www.pxcodes.com

将类名前加上模块名,如这个组件叫做LoveVideo,则整个组件的样式表CSS类名前加上组件名LoveVideo:lQt少儿编程网-https://www.pxcodes.com

<div>
    <button className="LoveVideobox">TestA 背景为蓝色</button>  
</div>
.LoveVideobox{
  font-size: 20px;
  margin: 10px;
  padding: 20px;
  background-color: blue;
  border-radius: 10px;
}

修改好之后刷新一下页面,你就会发现样式冲突的问题就会很好的解决:lQt少儿编程网-https://www.pxcodes.com

lQt少儿编程网-https://www.pxcodes.com

除了这样命名相同造成的冲突外,还有一种情况就是设置了一些全局的样式,比如:lQt少儿编程网-https://www.pxcodes.com

html{
  background-color: #fff;
  font-size: 14px;
}
*{
  margin: 0;
  padding: 0;
  background-color: #fff;
  font-size: 14px;
}

这样的全局通用的样式也切记不可设置的,因为使用react做一个单页应用只有一个页面,如果设置了全局样式则整个页面都会加载出此样式。lQt少儿编程网-https://www.pxcodes.com

总结lQt少儿编程网-https://www.pxcodes.com

1、单个组件类名加上组件名前缀,如组件名为LoveVideo,则所有的样式名前加上此前缀lQt少儿编程网-https://www.pxcodes.com

2、不要设置html{}、*{}之类的全局通用样式

以上就是react中样式冲突怎么解决的详细内容,更多请关注少儿编程网其它相关文章!lQt少儿编程网-https://www.pxcodes.com

来源:php中文网lQt少儿编程网-https://www.pxcodes.com


相关文章:

支持一下 ( )

react中样式冲突怎么解决

      匿名评论
    • 评论
    人参与,条评论
    react中样式冲突怎么解决

微信公众号

免费视频教程

先知道