Css属性在两个组件之间发生冲突
我有两个组件,每个组件有两个css文件。css文件导入到req组件中。问题是每个组件都有相同的类名,如果我在组件中更改css,它也会影响具有相同类的其他组件。。请帮忙。。如果您不理解我的问题,请发表评论Css属性在两个组件之间发生冲突,css,reactjs,Css,Reactjs,我有两个组件,每个组件有两个css文件。css文件导入到req组件中。问题是每个组件都有相同的类名,如果我在组件中更改css,它也会影响具有相同类的其他组件。。请帮忙。。如果您不理解我的问题,请发表评论html{ 字体系列:无衬线; } /* 这条规则是不必要的↷ p{ 字体系列:无衬线; } */ html{ 字体系列:无衬线; } p{ 线高:1.5; } /* 这条规则是不必要的↷ p a{ 线高:1.5; } */ 关于css优先级 基本上,后面的css具有更高的优先级 !!重要
html{
字体系列:无衬线;
}
/*
这条规则是不必要的↷
p{
字体系列:无衬线;
}
*/
html{
字体系列:无衬线;
}
p{
线高:1.5;
}
/*
这条规则是不必要的↷
p a{
线高:1.5;
}
*/
关于css优先级
还有一些css方法,如BEM、SMACSS和OOCSS。然而,这也不能解决根本问题 从诸如边界元法(BEM)和原子CSS之类的CSS方法到以编程方式封装的CSS模块,许多人都在尽最大努力避开或抑制这些特性。这使开发人员能够更好地控制他们的CSS,但这只是一种基于频繁干预的专制控制 有一些选项,如阴影dom,但polyfill也与性能问题直接相关 如果您使用的是react,我认为next's attitude在研究css时所采用的方法可能最接近我们目前所能看到的最佳方法 我希望您能看看css在下一篇文章中的划分方式
考虑JS解决方案中的作用域CSS,例如,您可以使用它为每个组件生成唯一的类名。ok。但为什么会出现这种情况呢?因为CSS最初设计用于用文本和一些图片为文档设置样式,而不是基于组件的复杂单页应用程序。因此,默认情况下CSS中的所有内容都是全局的。要在本地对其进行范围限定,必须使用影子DOM、iframe,或者只需确保类名不重叠。JS中的CSS方法是确保这一点的自动化方法,但您也可以尝试手动方法,例如。