CSS 不会覆盖继承的值

标签 css inheritance html overriding border

我有一个包含如下内容的 Html: (div A 中的多个 div)。

<div class="a">
    <div class="b"></div>
</div>

我的 CSS 看起来像这样:

.a div {
    border: solid;
    border-width: thin;
}

.b {
    border: none;
    border-width: 0px;
    border-collapse: collapse;
}

由于某些原因,b 的值不会覆盖 a。 但是,如果我只写 a 而不是“a .div”,我将不会得到 a 中其他 div 的预期行为。

我让它工作的唯一方法是使用“重要!” (即“边界:无!重要”;)但这似乎不够优雅。

会喜欢关于那里发生的事情的任何想法..

埃胡德。

最佳答案

你的选择器是错误的。

代替

a. div {

div.a {

(选择类为“a”的任何 div)

代替

b {

(实际上会尝试设置所有 b 元素的样式)

使用

.b {

(表示选择“b”类定义的任何内容)

编辑(回应回应)

要选择类为“a”的 div 中的所有 div,请使用以下选择器:-

div.a div 

关于CSS 不会覆盖继承的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8832200/

相关文章:

java - Swagger代码生成: Inheritance and Composition not working as expected

javascript - 原型(prototype)对象继承

c++ - 从 QMainWindow 和 Ui_MainWindow 继承 MainWindow 类

jquery - 如何将类添加到列表项并将其从上一项中删除

javascript - 如何在 GET 请求中使用 xpath?

javascript - 我怎样才能以相同的形式从具有相同名称的不同选择选项中获取一个值

html - 将伪元素放置在 LI 内的嵌套列表之前

css - 标题高度适合背景图像

html - CSS如何使<TD>固定高度?

css - 根据部署加载不同的 CSS