XML/HTML标记内的空格

Cha*_*l72 48 html xml tags

我知道如何在XML和HTML的文本节点中处理空白区域,但我不确定标记元素本身内部的空白区域.显然,在标签内部使用空格来分隔属性,但是在"<"之后或">"之前是否有空白?

例如:

<  foo  >
< /foo >
Run Code Online (Sandbox Code Playgroud)

甚至:

<foo>
< /  foo >
Run Code Online (Sandbox Code Playgroud)

这些标签是否有效?那么HTML,假设它们是实际的HTML标签名称?

Guf*_*ffa 64

规范(部分3.1起始标签,结束标签和空元素标签)说,存在之间没有空格'<'和标签名,之间'</'和标记名称,或里面'/>'.您可以在标记名称后面添加空格:

<foo            >
</foo        >
<bar
/>
Run Code Online (Sandbox Code Playgroud)

  • @fakaff:是的,这是有效的。换行符、制表符和空格都是空白字符,您可以在标记名称之后和属性之间(甚至在属性中的 `=` 周围)有任意多的空格。 (3认同)

Dan*_*lau 8

</并且/>是令牌,因此两个字符之间的空格将是语法错误.正如Guffa指出的那样,开放令牌和名称之间不允许有空格.但是你可以在元素标记和结束>(或/>)标记之间添加空格.

编辑以反映Guffa对XML规范的正确引用.


小智 5

HTML [5]标准似乎完全符合XML标准,如Guffa所描述的......

http://www.whatwg.org/specs/web-apps/current-work/multipage/syntax.html#start-tags