我们在试图弄清楚为什么 CSS 继承不能按预期工作时遇到了困难。
为了描述这个问题......我有一个可重用的 CSS,它定义了各种背景颜色,我们根据用户配置切换页面各个部分的背景和前景。问题是,如果我的一种颜色被分配给父 DIV 并在 CSS 中进一步定义,那么它会覆盖在子 DIV 中定义的 CSS 属性。一个很好的例子是这个 JSBin 示例 - JSBin 链接!,因为 bgBlack 是在 bgWhite 之后的 CSS 文件中定义的,所以用户代理使用 bgBlack 的属性,即使是 bgWhite DIV 的内容!我们需要完成这项工作,否则我们将在用户能够在不涉及开发人员的情况下切换颜色等方面陷入困境。非常感谢任何帮助和指导!
<!DOCTYPE html>
<html>
<head>
<meta name="description" content="[add your bin description]" />
<meta charset=utf-8 />
<title>JS Bin</title>
</head>
<body class="bgDark">
<div class="bgWhite" style="margin:100px;padding:20px;height:200px;width:200px;">
<h1>Hello World!</h1>
<ul>
<li><a href="#">This is a link 1</a></li>
<li><a href="#">This is a link 2</a></li>
<li><a href="#">This is a link 3</a></li>
</ul>
</div>
</body>
</html>
和 CSS 是....
.bgWhite { background-color:white;color:black; }
.bgWhite a { color:black; }
.bgWhite a:hover { color:red; }
.bgDark { background-color:black;color:white; }
.bgDark a { color:white; }
.bgDark a:hover { color:blue; }