CSS特性和弃用的HTML属性

时间:2012-05-29 00:56:44

标签: html css css-specificity

如果有的话,应用以下样式的隐含specificity是什么:

<iframe src="..." height="300" width="500"></iframe>

它是否仍然获得specificity = 1,0,0,0并覆盖任何其他应用的样式?它将如何与正确的内联样式一起使用,即哪个优先:

<iframe src="..." height="300" width="500" style="height:150px;width:600px;"></iframe>

浏览器是否同意更喜欢style=""声明而不是无效声明,或者还有其他事情发生?

NB :我只是对选择在这种情况下应用的正确样式的机制感到好奇,但不提倡这样的声明。

2 个答案:

答案 0 :(得分:3)

根据您引用的页面上的最后一部分Precedence of non-CSS presentational hints,可以映射表示HTML属性的CSS规则的特殊性为零(0)。因此,页面的真实样式表中的设置覆盖这样的属性,例如, style="height:150px;width:600px;"赢得了heightwidth属性。

这不取决于属性的有效性。有效性是正式的,不会影响浏览器行为。即使您声明了严格的doctype,浏览器仍然会尊重他们识别的那些表示属性。 (这里没有说明。这就是事情的运作方式。)

P.S。该部分中的示例可能看起来很奇怪。为什么用户样式表中的font[color] { color: orange; }不会影响HTML文档中具有font属性的color元素?原因是属性被转换为 author (页面)样式表中的CSS规则,并且(在没有!important的情况下)作者样式表中的任何内容都会赢得用户样式表。但是 author 样式表中的font[color] { color: orange; }会覆盖标记中的颜色集,例如<font color=red>

答案 1 :(得分:0)

style=""属性和/或任何css声明始终优先于widthheight html属性。

无论如何,总是建议使用CSS样式表。