我知道如何在XML和HTML的文本节点中处理空格,但我不确定标记元素本身内部的空格。显然,在标签内部使用空格来分隔属性,但在'<'之后有空格是否有效或者在'>'之前?
例如:
< foo >
< /foo >
甚至:
<foo>
< / foo >
这些标签是否有效?那么HTML,假设它们是实际的HTML标签名称?
答案 0 :(得分:62)
specification (section 3.1 Start-tags, end-tags, and empty-element tags)表示'<'
与标记名称之间,'</'
与标记名称之间或'/>'
内部之间没有空格。但是,您可以在标记名称后添加空格:
<foo >
</foo >
<bar
/>
答案 1 :(得分:8)
</
和/>
是令牌,因此两个字符之间的空格将是语法错误。而作为Guffa pointed out,开放令牌和名称之间不允许有空格。但是你可以在元素标记和结束>
(或/>
)标记之间添加空格。
编辑以反映Guffa对XML规范的正确引用。
答案 2 :(得分:5)
HTML [5]标准似乎完全符合XML标准,正如Guffa所描述的那样......
http://www.whatwg.org/specs/web-apps/current-work/multipage/syntax.html#start-tags
答案 3 :(得分:0)
你不能以空格开头,但你可以(可选)以一个空格结束(在第二个尖括号之前,关闭第一个标签)。