我可以逃避向类定义中添加空格吗?
问题描述:
我工作的一些遗留PHP代码,根据条件不同,会产生以下两种输出:我可以逃避向类定义中添加空格吗?
<div class="foo bar">Bork bork bork</div>
或:
<div class="foo ">Bork bork bork</div>
注意空白下面的类名第二个例子。这绝对是丑陋的,但我现在正处于一段时间的限制之下,修复这个问题需要一些主要的代码手术,现在我宁愿避免。在目前为止我测试过的浏览器上,似乎没有问题,但如果我在这里实施完全违反标准的行为,我宁愿今晚加班。
所以。根据标准,这是否允许?
答
从HTML5 Compliant - Trailing Space in Class Attribute
是的,它是兼容的
从 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:
甲含有组空格分隔的标记可以具有前导或尾随空格字符的字符串。
应该没问题。我能想到的唯一潜在问题是如果你使用属性选择器'[class =“foo”]'和空白会有所作为。http://jsfiddle.net/p1pcxy25/(但你真的应该不会滥用像这样的属性选择器,所以你可能没问题)。 –
复制注意。 Mea culpa。 –