【问题标题】:How to protect React component from global styles?如何保护 React 组件免受全局样式的影响?
【发布时间】:2021-10-15 19:14:36
【问题描述】:

我有一个将嵌入到旧网站中的反应组件。问题是这个网站有一些带有标签选择器的全局样式,例如:

p {
  font-size: 14px;
}

从网站上删除这些样式不是一种选择。 那么除了覆盖它们之外,还有什么方法可以阻止这些样式到达我的组件?

【问题讨论】:

  • 我怀疑是否有比覆盖它们更好的选择

标签: css reactjs


【解决方案1】:

您可以将 .p 包装在您自己的类中。 纯 HTML 示例:

<div class = "you-wrapper">
   ...
   ...
   ...
   <p></p>
   ...
</div>

在你的反应代码中,添加你自己的 css:

.you-wrapper p { font-size: 15px; color:red;}

已编辑:

/* your css */ 
.your-wrapper * { all: unset; }
.you-wrapper p { font-size: 15px; color:red;}

【讨论】:

  • 是的,这就是我最初的想法,但是无法控制以后将哪些确切的全局样式添加到网站中(我无法控制网站代码库)
  • 也许:/* 你的 CSS */ .your-wrapper * { all: unset; } .... 你的 CSS 代码... *答案已编辑
【解决方案2】:

为此组件创建一个特定的 css 文件,并再次为该页面中的 p 指定样式。它将取代全球的。 要么 您可以使用内联 css,因为它比外部 css 更具偏好。

【讨论】:

    猜你喜欢
    • 2022-12-14
    • 2019-11-09
    • 1970-01-01
    • 2014-10-21
    • 1970-01-01
    • 2018-01-12
    • 2015-11-19
    • 2012-04-05
    • 2010-10-01
    相关资源
    最近更新 更多