javascript

推荐列表 站点导航

当前位置:首页 > 脚本编程 > javascript >

react中样式冲突怎么解决

来源:网络整理  作者:  发布时间:2020-12-16 22:19
解决react中样式冲突的方法:首先打开相应的代码文件;然后将类名前加上模块名,如将整个组件的样式表CSS类名前加...

推荐:《javascript基础教程

解决react中样式冲突

TestAComponent 组件A:

有两个组件,一个叫做TestAComponent,另外一个叫做TestBComponent,在TestA组件中我写了一个背景色为蓝色的按钮,TestB中我写了一个背景色为红色的按钮。

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

TestA css,背景设置的为蓝色:

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

TestB 组件B:

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

解决此问题方法:

本教程操作环境:windows7系统、react17.0.1版本,该方法适用于所有品牌电脑。

将类名前加上模块名,如这个组件叫做LoveVideo,则整个组件的样式表CSS类名前加上组件名LoveVideo:

除了这样命名相同造成的冲突外,还有一种情况就是设置了一些全局的样式,比如:

react在开发中很多有很多需要注意的地方,换句话说就是有很多小坑需要踩一踩,这里分享一下我遇到的一个小坑,就是样式冲突,这是一个值得注意的问题,首先看一下例子:

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

TestB css,背景设置的为红色:

9ec423d02c02729b2c96c2dd6fe989f.png

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

代码写好之后npm start一下,这是会发现浏览器里显示的效果是这样的:

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

这样的全局通用的样式也切记不可设置的,因为使用react做一个单页应用只有一个页面,如果设置了全局样式则整个页面都会加载出此样式。

解决react中样式冲突的方法:首先打开相应的代码文件;然后将类名前加上模块名,如将整个组件的样式表CSS类名前加上组件名LoveVideo即可。

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

修改好之后刷新一下页面,你就会发现样式冲突的问题就会很好的解决:

react中样式冲突怎么解决

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

以上就是react中样式冲突怎么解决的详细内容,更多请关注聚合云库其它相关文章!

1、单个组件类名加上组件名前缀,如组件名为LoveVideo,则所有的样式名前加上此前缀

总结

052a680857fe866d26377a67a1ff36f.png

相关热词: 解决

本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供用于网络技术学习参考,学习中请遵循相关法律法规!

本文地址: https://www.juheyunku.com/jiaob/javascript/4621.shtml

最新文章
Javascript是什么? Javascript是什么?

时间:2021-01-04

Canvas入门实战之实现一个 Canvas入门实战之实现一个

时间:2021-01-04

11月份GitHub上最热门的Ja 11月份GitHub上最热门的Ja

时间:2021-01-04

一篇带给你JavaScript的Cla 一篇带给你JavaScript的Cla

时间:2021-01-04

详解js异步文件加载器 详解js异步文件加载器

时间:2021-01-04

深入理解JavaScript中的箭头 深入理解JavaScript中的箭头

时间:2021-01-04

复盘Node项目中遇到的13+常 复盘Node项目中遇到的13+常

时间:2021-01-04

连续3年稳居第一,全球 连续3年稳居第一,全球

时间:2021-01-04

Copyright © www.juheyunku.com      关于 | 合作 | 声明 | 联系 | 更新 | 地图 | Tags

react中样式冲突怎么解决

2020-12-16 编辑:

推荐:《javascript基础教程

解决react中样式冲突

TestAComponent 组件A:

有两个组件,一个叫做TestAComponent,另外一个叫做TestBComponent,在TestA组件中我写了一个背景色为蓝色的按钮,TestB中我写了一个背景色为红色的按钮。

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

TestA css,背景设置的为蓝色:

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

TestB 组件B:

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

解决此问题方法:

本教程操作环境:windows7系统、react17.0.1版本,该方法适用于所有品牌电脑。

将类名前加上模块名,如这个组件叫做LoveVideo,则整个组件的样式表CSS类名前加上组件名LoveVideo:

除了这样命名相同造成的冲突外,还有一种情况就是设置了一些全局的样式,比如:

react在开发中很多有很多需要注意的地方,换句话说就是有很多小坑需要踩一踩,这里分享一下我遇到的一个小坑,就是样式冲突,这是一个值得注意的问题,首先看一下例子:

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

TestB css,背景设置的为红色:

9ec423d02c02729b2c96c2dd6fe989f.png

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

代码写好之后npm start一下,这是会发现浏览器里显示的效果是这样的:

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

这样的全局通用的样式也切记不可设置的,因为使用react做一个单页应用只有一个页面,如果设置了全局样式则整个页面都会加载出此样式。

解决react中样式冲突的方法:首先打开相应的代码文件;然后将类名前加上模块名,如将整个组件的样式表CSS类名前加上组件名LoveVideo即可。

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

修改好之后刷新一下页面,你就会发现样式冲突的问题就会很好的解决:

react中样式冲突怎么解决

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

以上就是react中样式冲突怎么解决的详细内容,更多请关注聚合云库其它相关文章!

1、单个组件类名加上组件名前缀,如组件名为LoveVideo,则所有的样式名前加上此前缀

总结

052a680857fe866d26377a67a1ff36f.png

本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供学习参考!
本文地址为 https://www.juheyunku.com/jiaob/javascript/4621.shtml

相关文章

风云图片

推荐阅读

返回javascript频道首页