How to prevent outside CSS from adding and overriding ReactJS component styles(如何防止外部 CSS 添加和覆盖 ReactJS 组件样式)
问题描述
我有一个自定义的 ReactJS 组件,我想以某种方式对其进行样式设置,并作为插件提供给许多不同的网站.但是当网站使用全局样式(Twitter bootstrap 或其他 css 框架)时,它会添加并覆盖我的组件的样式.例如:
I have a custom ReactJS component that I want to style in a certain way and provide as a plugin to many different web sites. But when web sites use global styles (Twitter bootstrap or another css framework) it adds and overrides styles of my component. For example:
global.css:
global.css:
label {
color: red;
font-weight: bold;
}
component.js:
component.js:
class HelloMessage extends React.Component {
render() {
let style = {
color: "green"
};
return (<label style={style}>Hello</label>);
}
}
结果:
上面我没有在我的组件样式中使用font-weight: bold",但结果我的组件正在使用它.
我希望能够封装我的自定义组件的样式,使它们在所有网站上看起来都一样.
推荐答案
在我看来,最好的方法是为你的组件定义某种重置类,并放入一组你可以在那里找到的 css 重置(例如 http://meyerweb.com/eric/tools/css/reset/)
The best approach in my view is to define some kind of reset class for your component and put in a set of css resets you can find out there (e.g. http://meyerweb.com/eric/tools/css/reset/)
sass
文件中的定义可能如下所示:
The definition in a sass
file could look like this:
.your-component-reset {
div, span, object, iframe {
margin: 0;
padding: 0;
border: 0;
font-weight: normal;
font-size: 100%;
font: inherit;
vertical-align: baseline;
}
// add some more reset styles
}
为了避免在不想使用 sass
时写很多东西,只需使用通用选择器 *
:
To avoid writing a lot when you don't want to use sass
just use the universal selector *
:
.your-component-reset * {
margin: 0;
padding: 0;
font-weight: normal;
// other reset styles ...
}
这篇关于如何防止外部 CSS 添加和覆盖 ReactJS 组件样式的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:如何防止外部 CSS 添加和覆盖 ReactJS 组件样式
基础教程推荐
- Chart.js 在线性图表上拖动点 2022-01-01
- 直接将值设置为滑块 2022-01-01
- 我可以在浏览器中与Babel一起使用ES模块,而不捆绑我的代码吗? 2022-01-01
- html表格如何通过更改悬停边框来突出显示列? 2022-01-01
- Vue 3 – <过渡>渲染不能动画的非元素根节点 2022-01-01
- 自定义 XMLHttpRequest.prototype.open 2022-01-01
- 用于 Twitter 小部件宽度的 HTML/CSS 2022-01-01
- Electron 将 Node.js 和 Chromium 上下文结合起来意味着 2022-01-01
- 如何使用JIT在顺风css中使用布局变体? 2022-01-01
- 如何使用TypeScrip将固定承诺数组中的项设置为可选 2022-01-01