考虑以下具有两个style
属性的HTML片段:
<span style="color:blue" style="font-style:italic">Test</span>
在Opera 12.16和Chrome 40中,它显示为蓝色非斜体文本,而Internet Explorer 9显示蓝色斜体文本。标准所说的应该出现什么,如果有的话?
答案 0 :(得分:36)
在单个声明中用半冒号分隔规则:
<span style="color:blue;font-style:italic">Test</span>
答案 1 :(得分:26)
在HTML中,SGML和XML,(1)属性不能重复,只能在元素中定义。
所以你的例子:
<span style="color:blue" style="font-style:italic">Test</span>
是HTML标准的不符合,并且会导致未定义的行为,这解释了为什么不同的浏览器以不同的方式呈现它。
由于没有明确的解释方法,浏览器可以根据需要对其进行解释并合并,或者按照自己的意愿忽略它们。
(1):我能找到的每篇文章都指出属性是“键/值”对或“属性 - 值”对,这在很大程度上暗示了键必须是唯一的。 The best source I can find states
属性名称(本例中的id和status)受到与XML中其他名称相同的限制;但是,它们不一定在整个DTD中是唯一的,但只有在给定元素的属性列表中。 (强调我的。)