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

5

好的,这里是一个简单的测试用例(点击此处查看)

我的实验内容是,如果我们使用属性来为元素设置样式(我知道这是个非常糟糕的想法,但我只是想试试)

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

有点像 CSS - 1 / HTML - 0 <!-- 特异性 -->

如果CSS未使用,则HTML - 1 <!-- 特异性 -->

测试用例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吗?


@BoltClock 我们不应该也将其标记为 specificity 吗? - Mr. Alien
@Andy 我知道内联样式是最具体的,但我的问题与此不同 :) - Mr. Alien
不确定 - 我认为这里使用“特定性”一词并不恰当。 - BoltClock
@BoltClock 嗯,实际上这里很简单。 - Mr. Alien
1个回答

8

根据 CSS 2.1规范:

用户代理可能会使用HTML源文档中的表示属性。如果是这样,这些属性将被转换为相应的CSS规则,其特定性等于0,并被视为插入到作者样式表的开头。因此,它们可能会被后续样式表规则覆盖。在过渡阶段,这个策略将使样式属性易于与样式表共存。

类似的语言在CSS级联和继承 第三级也存在。


总的来说,CSS对于样式更具体吗?

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

除了style属性之外,是否有任何可以使用属性覆盖CSS的方法?

没有。样式属性只是一种将CSS应用于元素的方式。 (就像使用JavaScript修改由style属性生成的DOM属性一样。)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接