HTML“class”元素属性是否包含换行符?

时间:2013-02-18 02:17:05

标签: css html

HTML5元素的'class'属性是否包含换行符?是否允许在规范中并且浏览器是否支持它?

我问,因为我有一些代码可以动态地将各种类插入到元素中,这创建了一个很难管理的很长的行。通常我会使用变量构建类值,但我正在使用的CMS要求模板条件标记与HTML内联。我不能使用变量或PHP。

我在研究中发现,一些HTML标记属性需要是一行,但我无法发现类属性是否属于其中之一。

有人对此有所了解吗?

2 个答案:

答案 0 :(得分:19)

根据HTML 4 specclass属性为CDATA

  

用户代理应按如下方式解释属性值:

     

o用字符替换字符实体

     

o忽略换行

     

o用一个空格替换每个回车或标签。

所以你在那里很好。

HTML5 spec将一个类描述为set of space separated tokens,其中“空格”包含换行符。

所以你也应该做得好。

答案 1 :(得分:4)

  

HTML5元素的[class]属性是否包含换行符?

是。 The HTML5 spec says

  

如果指定了属性,则该属性必须具有表示该元素所属的各种类的set of space-separated tokens值。

链接继续说:

  

一组空格分隔的标记是一个包含零个或多个单词(称为标记)的字符串,由一个或多个space characters分隔,其中单词由任意一个字符串组成或者更多字符,其中没有一个是space characters

空格字符包括:

  • 空格(' '
  • 标签(\t
  • 换行(\n
  • 表单Feed(\f
  • 回车(\r
  

出于本规范的目的,空格字符是U + 0020 SPACE,“tab”(U + 0009),“LF”(U + 000A),“FF”(U + 000C)和“CR”(U + 000D)。

您添加到UTF-8文档的换行符是:

  • 换行(\n
  • 回车(\r
  • 回车后紧跟换行符(\r\n