符合 HTML5 - 类属性中的尾随空格

Posted

技术标签:

【中文标题】符合 HTML5 - 类属性中的尾随空格【英文标题】:HTML5 Compliant - Trailing Space in Class Attribute 【发布时间】:2014-02-21 18:34:49 【问题描述】:

我知道从技术上讲 html5 是一个“动态规范”,但我想知道在类名中包含尾随空格是否符合要求。我在规范中没有看到对这种情况的任何提及,但我的一个队友说它是无效的。也许我错过了什么?

修剪这些空间会很痛苦(我在一个大型 Java ecom 应用程序中工作),我想知道它是否值得为 SEO、验证或任何其他目的而做。我感觉不是……哈哈

【问题讨论】:

【参考方案1】:

是的,它是合规的。

从 http://www.w3.org/html/wg/drafts/html/master/dom.html#classes:

如果指定了该属性,则该属性的值必须是一组以空格分隔的标记,表示该元素所属的各种类。

从 http://www.w3.org/html/wg/drafts/html/master/infrastructure.html#set-of-space-separated-tokens:

包含一组以空格分隔的标记的字符串可能有前导或尾随空格字符。

【讨论】:

【参考方案2】:

正如我们在下面的链接中看到的那样,开发人员可以在 class 属性中使用的内容没有任何限制。

http://www.w3.org/html/wg/drafts/html/master/dom.html#classes

事实上,在说出类是什么以及它们在空格中被使用后,作者说:

作者可以使用的令牌没有额外的限制 类属性,但鼓励作者使用 描述内容的性质,而不是描述的值 所需的内容呈现方式。

我们这里的同事已经测试过了,它成功通过了 W3C 验证,所以我猜不出你的朋友为什么认为它是无效的。

【讨论】:

【参考方案3】:

根据<!DOCTYPE html>下的http://validator.w3.org/,以下验证成功。

<div class=" name1 name2 "></div>

留下一个尾随和前导空格可能是可以接受的,但这并不漂亮,而且有些人认为这不是最佳做法。

【讨论】:

【参考方案4】:

任何知道如何处理类属性的东西都应该可以。可以通过用空格分隔标签来赋予标签多个类,因此读取它们的任何内容都最好知道如何处理空格。

【讨论】:

以上是关于符合 HTML5 - 类属性中的尾随空格的主要内容,如果未能解决你的问题,请参考以下文章

可以将 Jackson 配置为从所有字符串属性中修剪前导/尾随空格吗?

删除json字符串c#中的尾随空格

符合协议和类的 Swift 属性

HTML5类标签

使用空格访问类属性

在符合 UIApperance 的自定义类中允许哪些 Swift 属性类型?