如果有的话,应用以下样式的隐含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 :我只是对选择在这种情况下应用的正确样式的机制感到好奇,但不提倡这样的声明。
答案 0 :(得分:3)
根据您引用的页面上的最后一部分Precedence of non-CSS presentational hints,可以映射表示HTML属性的CSS规则的特殊性为零(0)。因此,页面的真实样式表中的设置覆盖这样的属性,例如, style="height:150px;width:600px;"
赢得了height
和width
属性。
这不取决于属性的有效性。有效性是正式的,不会影响浏览器行为。即使您声明了严格的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声明始终优先于width
和height
html属性。
无论如何,总是建议使用CSS样式表。