XML/HTML 标记内的空白
Posted
技术标签:
【中文标题】XML/HTML 标记内的空白【英文标题】:White space inside XML/HTML tags 【发布时间】:2011-03-19 21:02:16 【问题描述】:我知道如何在 XML 和 html 的文本节点中处理空白,但我不确定标签元素本身内部的空白。显然,标签内部使用空格来分隔属性,但是在''之前有空格是否有效?
例如:
< foo >
< /foo >
甚至:
<foo>
< / foo >
这些标签是有效的 XML 吗?假设它们是实际的 HTML 标记名称,那么 HTML 呢?
【问题讨论】:
【参考方案1】:specification (section 3.1 Start-tags, end-tags, and empty-element tags) 表示'<'
和标签名称之间、'</'
和标签名称之间或 '/>'
内部没有空格。不过,您可以在标签名称后添加空格:
<foo >
</foo >
<bar
/>
【讨论】:
然后将长 HTML 标签分成单独的行是否有效?例如:<a heref="/something/" (newline, indent) title="something"> (newline) </a>
——例如在长标签的情况下,里面包含php代码,使其更具可读性。
@fakaff:是的,这是有效的。换行符、制表符和空格都是空白字符,您可以在标签名称之后和属性之间(甚至在属性中的=
周围)有任意多的空白。【参考方案2】:
</
和 />
是标记,因此两个字符之间的空格将是语法错误。和Guffa pointed out 一样,开始标记和名称之间不允许有空格。但是您可以在元素标记和结束 >
(或 />
) 标记之间添加空格。
EDIT 以反映 Guffa 对 XML 规范的正确引用。
【讨论】:
【参考方案3】:HTML[5] 标准似乎与 Guffa 所描述的 XML 标准完全一致...
http://www.whatwg.org/specs/web-apps/current-work/multipage/syntax.html#start-tags
【讨论】:
【参考方案4】:您不能以空格开头,但可以(可选)以一个结尾(在第二个尖括号之前,即关闭第一个标签)。
【讨论】:
这个答案对现有答案没有任何增加。 @Pyves 你的评论也没有;)以上是关于XML/HTML 标记内的空白的主要内容,如果未能解决你的问题,请参考以下文章
更改 WKWebview 框架高度后如何删除 WKScrollView 内的空白区域?