一个CSS规则如何覆盖另一个CSS规则?

所以,这就是我正在做的:

#id-form td {

padding: 0 0 10px 0;

}

#particular-td {

border: 1px solid black;

text-align: center;

background-color: #DFDFDF;

height: 30px;

padding: 10px;

}

我有一张桌子#id-form,上面放着所有td的桌子padding-bottom: 10px

但是在一个特殊的场合,我希望一个特定的对象在各个方向td都有padding: 10px,我将其设置为#particular-td

显然,我将CSS样式依次放在一个外部文件中。

但是渲染的CSS仅具有padding-bottom,并且padding: 10px似乎已被覆盖!

请说明:

这是怎么发生的以及为什么发生?

我应该如何安排这些规则来解决我的问题(除了内联样式)?

编辑:我在表中删除'table'之前#id-form。我从来没有使用过它,我只是在这里提到它以便能够更好地解释它。

回答:

由于CSS的特殊性。选择器的权重将根据组成它的组件进行评估,其中id的权重为100,classes的权重为10,element选择器的权重为1。

因此,在您的示例中:

table#id-form td

的权重为102(table#id为101且td为1),而这是:

#particular-td

权重为100。如果将第二个权重改为:

#id-form #particular-td

您将获得200的权重,它将覆盖先前的选择器。仅在万不得已的情况下,才可以使用!important,因为这很可能会阻止您覆盖它。

以上是 一个CSS规则如何覆盖另一个CSS规则? 的全部内容, 来源链接: utcz.com/qa/421990.html

回到顶部