多种风格" " span"中的属性标签:应该发生什么?

时间:2015-03-04 23:25:02

标签: html

考虑以下具有两个style属性的HTML片段:

<span style="color:blue" style="font-style:italic">Test</span>

在Opera 12.16和Chrome 40中,它显示为蓝色非斜体文本,而Internet Explorer 9显示蓝色斜体文本。标准所说的应该出现什么,如果有的话?

2 个答案:

答案 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中是唯一的,但只有在给定元素的属性列表中 (强调我的。)