如果你看看这个小小的 CodeSandbox 项目:https ://codesandbox.io/s/0oj4z7ko00
请注意 index.html 中的以下两个片段:
<style type="text/css">
#container {
background: yellow;
}
</style>
和
<div id="container"></div>
这个容器是 React 渲染应用程序其余部分(有效)的地方,但它的背景不是黄色的!为什么不?
此外,如果您查看 components/Presentational.js,您会发现以下代码段:
<div className={data % 2 === 0 ? "even" : "odd"}>
在 index.html 中,这些类名的一些样式:
<style type="text/css">
.even { color: red; }
.odd { color: green; }
</style>
请注意,类名已根据data
道具的值正确分配给元素,但样式未生效,文本仍为黑色。
在这两种情况下,在检查器中都找不到样式,所以我真的不认为它们被覆盖了。但到底发生了什么?为什么我的样式在 CodeSandbox 中没有生效?