HTML属性中的换行符和特殊字符

时间:2011-11-08 07:11:38

标签: html

我的问题很简单:

以下是否有效?如果是,它会在某些浏览器中破解吗?

<div data-text="Blah blah blah
More blah
And just a little extra blah to finish"> ... </div>

哪些字符“必须”在属性值中编码?我知道"应该是&quot;,但是还需要编码吗?

2 个答案:

答案 0 :(得分:5)

  

以下是否有效?

它是HTML5的有效片段,是的。

  

它会在某些浏览器中破解吗?

不太可能的。

  

哪些字符“必须”在属性值中编码?我知道"应该是&quot;,但是还需要编码吗?

这取决于属性值是双引号,单引号还是非引号。

对于双引号格式"必须由其字符引用替换,&可能需要替换为其字符引用,具体取决于其后面的字符。见attribute-value-double-quoted-state

对于单引号格式'必须替换为其字符引用,并且&可能需要替换为其字符引用,具体取决于其后面的字符。见attribute-value-single-quoted-state

对于未加引号的表单TABLINEFEEDFORMFEEDSPACE>必须替换为其字符引用,&可能需要替换为其字符引用,具体取决于其后面的字符。见attribute-value-unquoted-state

答案 1 :(得分:1)

HTML 5 spec

对不同属性有不同的要求,因此没有一个答案。 例如,标题属性允许换行,但类属性是一个空格分隔的字符串标记行。

对于数据元素,虽然规范说明了命名空间:

  

不包含U + 0041至U + 005A范围内的字符(拉丁文大写字母A至拉丁文大写字母Z)。

除此之外,它没有任何区别。