javascript - 限制外部 CSS 对本地反应组件或 HTML 元素的影响
问题描述
我在我的 React 应用程序的 HTML 页面中使用了一些外部 CSS。渲染组件后,外部 CSS 正在影响我的 React 组件 UI 并扭曲它们。但是,我需要外部 CSS 来呈现 Header(HTML 页面的特定部分),但不影响页面的其余元素。
是否可以将此行为限制为仅页面中少数特定元素?
我正在使用 react-scripts 进行快速应用程序开发。基于提出的方法,我可以根据需要控制构建和部署过程。
例子:
page.html
<html>
<head>
<meta charset="utf-8" />
<title>Test HTML</title>
<link rel="stylesheet" href="page.css"/>
</head>
<body>
<div id="outer">
<h1>This is an outer H1/h1>
<p>This is an outer P</p>
</div>
<div id="inner">
<h1>This is an inner H1</h1>
<p>This is an outer P</p>
</div>
<div id="root"></div> <!-- This is where my React components would be
rendered -->
</body>
页面.css
@charset-"utf-8";
h1 {color:red}
p {color:green}
body {font-weight:bold;}
我希望外部 css 文件 page.css 不影响 div id="inner" 部分中的 h1 和 p 标签以及将呈现到 div id="root" 中的元素。
解决方案
您可以为您的 React 应用程序创建另一个 CSS 并将其导入您的 React。在该 CSS 文件中,只需选择您的反应应用程序 ID,哪些元素将在其中呈现(在大多数情况下,ID 是根)然后选择根中的子标签或您想要选择的任何方式,然后在这种情况下给它一个样式,例如它会像:
app.css in there you can select like
#root h1 {color:white} and ....
and import it like import "./app.css" ("./YourCssAddress.css") to your react app
推荐阅读
- python - 如何查看列上的可能值
- c++14 - 将 std::string 索引转换为 std::vector 中的整数
- firebase - 如何从 Firestore Flutter 中读取数据
- amadeus - 艾玛迪斯付款分配流程工作流程
- grafana - Grafana 条宽度太小
- flutter - 将 setState 分配给 Flutter 中的变量
- laravel - 如何从语义 UI 开始
- python - 执行 keras fit_generator 时 Python 崩溃
- django - 使用 docker 构建坠落
- mysql - 表中有 2 个相同 ID 的元组,并且这两行的其他一些列的值不同