HTML5元素的'class'属性是否包含换行符?是否允许在规范中并且浏览器是否支持它?
我问,因为我有一些代码可以动态地将各种类插入到元素中,这创建了一个很难管理的很长的行。通常我会使用变量构建类值,但我正在使用的CMS要求模板条件标记与HTML内联。我不能使用变量或PHP。
我在研究中发现,一些HTML标记属性需要是一行,但我无法发现类属性是否属于其中之一。
有人对此有所了解吗?
答案 0 :(得分:19)
根据HTML 4 spec,class
属性为CDATA
:
用户代理应按如下方式解释属性值:
o用字符替换字符实体
o忽略换行
o用一个空格替换每个回车或标签。
所以你在那里很好。
HTML5 spec将一个类描述为set of space separated tokens,其中“空格”包含换行符。
所以你也应该做得好。
答案 1 :(得分:4)
HTML5元素的
[class]
属性是否包含换行符?
如果指定了属性,则该属性必须具有表示该元素所属的各种类的set of space-separated tokens值。
链接继续说:
一组空格分隔的标记是一个包含零个或多个单词(称为标记)的字符串,由一个或多个space characters分隔,其中单词由任意一个字符串组成或者更多字符,其中没有一个是space characters。
空格字符包括:
' '
)\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
)