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

Mr.*_*ien 5 html css

好的,这是一个简单的测试用例

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

那么问题是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>
Run Code Online (Sandbox Code Playgroud)

CSS

table, table td {
    border: 0;
}
Run Code Online (Sandbox Code Playgroud)

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

Que*_*tin 8

CSS 2.1规范:

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

CSS Cascading和Inheritance Level 3中存在类似的语言


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

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

或者我们可以用除了style属性之外的属性覆盖CSS

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