CSS元素选择器比HTML属性更具体?

时间:2013-04-19 11:57:49

标签: html css

好的,这是一个简单的test case

我尝试的是,如果我们使用属性来设计元素(我知道这是一个非常糟糕的主意,但我是为了实验而做的)

所以问题是CSS基本元素选择器样式比HTML属性更具体吗?

有点CSS - 1 / HTML - 0 <!-- Specificity -->

如果CSS not used, HTML - 1 <!-- Specificity -->

测试用例HTML

<table border="1">
    <tr>
        <td>Hello 1</td>
        <td>Hello 2</td>
        <td>Hello 3</td>
    </tr>
</table>

CSS

table, table td {
    border: 0;
}

因此整体CSS特定于HTML而不是造型?或者我们可以使用除style属性之外的属性覆盖CSS。

1 个答案:

答案 0 :(得分:8)

来自the CSS 2.1 specification

  

UA可以选择在HTML源文档中表示表示属性。如果是这样,这些属性将被转换为具有等于0的特定CSS规则,并被视为在作者样式表的开头插入它们。因此,它们可能会被后续的样式表规则所覆盖。在过渡阶段,此策略将使样式属性更容易与样式表共存。

CSS Cascading and Inheritance Level 3

中存在类似语言
  

因此整体CSS特定于HTML而不是造型?

是。不要使用HTML进行样式设置。我们现在有CSS。

  

或者我们可以使用除样式属性

之外的属性覆盖CSS

无。 style属性只是一种将CSS应用于元素的方法。 (正如使用JavaScript来修改style属性生成的DOM属性一样。)