所以,这就是我正在做的:
#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。
#id-form
td
padding-bottom: 10px
padding: 10px
#particular-td
显然,我将CSS样式依次放在一个外部文件中。 但是渲染的CSS仅具有padding-bottom,并且padding: 10px似乎已被覆盖!
padding-bottom
请说明: 这是怎么发生的以及为什么发生? 我应该如何安排这些规则来解决我的问题(除了内联样式)?
编辑:我在表中删除'table'之前#id-form。我从来没有使用过它,我只是在这里提到它以便能够更好地解释它。
'table'
由于CSS的特殊性。选择器的权重将根据组成它的组件进行评估,其中id的权重为100,classes的权重为10,element选择器的权重为1。
id
class
element
因此,在您的示例中:
table#id-form td
的权重为102(table#id为101且td为1),而这是:
table#id
权重为100。如果将第二个权重改为:
#id-form #particular-td
您将获得200的权重,它将覆盖先前的选择器。仅在万不得已的情况下,才可以使用!important,因为这很可能会阻止您覆盖它。
!important