HTML5 元素的 'class' 属性可以包含换行符吗?它在规范中是否允许并且浏览器是否支持它?
我问是因为我有一些代码可以动态地将各种类插入到元素中,这造成了一条非常长的难以管理的行。通常我会使用变量构建类值,但我使用的 CMS 需要将模板条件标签与 HTML 内联定位。我不能使用变量或 PHP。
我在研究中发现,一些 HTML 标记属性必须是一行,但我无法发现类属性是否是其中之一。
有人知道吗?
Per the HTML 4 spec, the class
attribute is CDATA
:
User agents should interpret attribute values as follows:
o Replace character entities with characters
o Ignore line feeds
o Replace each carriage return or tab with a single space.
so you're in good shape there.
The HTML5 spec describes a class as a set of space separated tokens, where a 'space' includes newlines.
So you should be good there, too.
HTML5 元素的属性可以
[class]
包含换行符吗?
是的。HTML5 规范说:
该属性(如果指定)必须具有一个值,该值是一组以空格分隔的标记,表示该元素所属的各种类。
链接继续说:
一组以空格分隔的标记是包含零个或多个单词(称为标记)由一个或多个空格字符分隔的字符串,其中单词由一个或多个字符的任何字符串组成,其中没有一个是空格字符。
空格字符包括:
' '
)\t
)\n
)\f
)\r
)就本规范而言,空格字符是 U+0020 SPACE、“tab”(U+0009)、“LF”(U+000A)、“FF”(U+000C)和“CR”(U +000D)。
您将添加到 UTF-8 文档的换行符是:
\n
)\r
)\r\n
)