3

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

<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=""声明而不是无效的声明,或者还有其他事情发生?

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

4

2 回答 2

3

根据您提到的页面上的最后一节,非 CSS 表示性提示的优先级,可以将表示性 HTML 属性映射到的 CSS 规则的特异性为零 (0) 。因此,页面的真实样式表中的设置会覆盖这些属性,例如style="height:150px;width:600px;"winsheightwidth属性。

这不依赖于属性的有效性。有效性是一个正式的东西,不会影响浏览器的行为。即使您声明了 Strict doctype,浏览器仍然会尊重它们识别的那些表示属性。(对此没有规范。这就是事情的运作方式。)

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

于 2012-05-29T04:44:46.693 回答
0

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

在任何情况下,总是建议使用 CSS 样式表。

于 2012-05-29T01:16:37.643 回答