【发布时间】:2012-02-20 22:17:01
【问题描述】:
我知道通过 'style' 属性的内联样式优先于外部 css 文件中指定的样式。但是像“cellpadding”这样的独立属性呢?示例行如下所示:
<table cellpadding="4" class="list">
【问题讨论】:
我知道通过 'style' 属性的内联样式优先于外部 css 文件中指定的样式。但是像“cellpadding”这样的独立属性呢?示例行如下所示:
<table cellpadding="4" class="list">
【问题讨论】:
6.4.4 Precedence of non-CSS presentational hints 在 CSS 2.1 规范中说:“UA 可以选择尊重 HTML 源文档中的表示属性。如果是这样,这些属性将被转换为特定性等于 0 的相应 CSS 规则,并被视为插入到作者样式表的开头。因此,它们可能会被后续样式表规则覆盖。”
所以任何在任何作者样式表中应用的相关设置都会覆盖cellspacing 的效果。该属性将表格的每个单元格的填充(在每个方向上)设置为以像素为单位的指定值。所以如果你设置例如对于特定单元格padding-right: 0,它将具有正确的填充和其他方向的 4px 填充。
【讨论】:
“内联样式” - 应用于元素本身 - 具有最高的“特异性”,这是用于计算哪些规则覆盖其他规则(高特异性覆盖低)的积分系统。
我认为 cellpadding="4" 算作内联样式,并且您可以在样式表中使用 !important 声明覆盖它的唯一方法。
这里有一些关于特异性的阅读:http://reference.sitepoint.com/css/specificity
【讨论】: