<small id='5QoaF'></small><noframes id='5QoaF'>

<i id='5QoaF'><tr id='5QoaF'><dt id='5QoaF'><q id='5QoaF'><span id='5QoaF'><b id='5QoaF'><form id='5QoaF'><ins id='5QoaF'></ins><ul id='5QoaF'></ul><sub id='5QoaF'></sub></form><legend id='5QoaF'></legend><bdo id='5QoaF'><pre id='5QoaF'><center id='5QoaF'></center></pre></bdo></b><th id='5QoaF'></th></span></q></dt></tr></i><div id='5QoaF'><tfoot id='5QoaF'></tfoot><dl id='5QoaF'><fieldset id='5QoaF'></fieldset></dl></div>
<tfoot id='5QoaF'></tfoot>

    1. <legend id='5QoaF'><style id='5QoaF'><dir id='5QoaF'><q id='5QoaF'></q></dir></style></legend>
      • <bdo id='5QoaF'></bdo><ul id='5QoaF'></ul>

      如何防止外部 CSS 添加和覆盖 ReactJS 组件样式

      时间:2023-09-29

      <small id='cKy0D'></small><noframes id='cKy0D'>

          <tfoot id='cKy0D'></tfoot>
          • <bdo id='cKy0D'></bdo><ul id='cKy0D'></ul>
            <i id='cKy0D'><tr id='cKy0D'><dt id='cKy0D'><q id='cKy0D'><span id='cKy0D'><b id='cKy0D'><form id='cKy0D'><ins id='cKy0D'></ins><ul id='cKy0D'></ul><sub id='cKy0D'></sub></form><legend id='cKy0D'></legend><bdo id='cKy0D'><pre id='cKy0D'><center id='cKy0D'></center></pre></bdo></b><th id='cKy0D'></th></span></q></dt></tr></i><div id='cKy0D'><tfoot id='cKy0D'></tfoot><dl id='cKy0D'><fieldset id='cKy0D'></fieldset></dl></div>
                <legend id='cKy0D'><style id='cKy0D'><dir id='cKy0D'><q id='cKy0D'></q></dir></style></legend>
                  <tbody id='cKy0D'></tbody>
              1. 本文介绍了如何防止外部 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 组件样式的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                上一篇:VueJS - 对象道具验证 下一篇:在 Vue.js 中动态实例化组件

                相关文章

              2. <i id='qSob7'><tr id='qSob7'><dt id='qSob7'><q id='qSob7'><span id='qSob7'><b id='qSob7'><form id='qSob7'><ins id='qSob7'></ins><ul id='qSob7'></ul><sub id='qSob7'></sub></form><legend id='qSob7'></legend><bdo id='qSob7'><pre id='qSob7'><center id='qSob7'></center></pre></bdo></b><th id='qSob7'></th></span></q></dt></tr></i><div id='qSob7'><tfoot id='qSob7'></tfoot><dl id='qSob7'><fieldset id='qSob7'></fieldset></dl></div>

                    <legend id='qSob7'><style id='qSob7'><dir id='qSob7'><q id='qSob7'></q></dir></style></legend>
                    <tfoot id='qSob7'></tfoot>

                    <small id='qSob7'></small><noframes id='qSob7'>

                    • <bdo id='qSob7'></bdo><ul id='qSob7'></ul>