帮助:Lint 错误/自闭合标签

This page is a translated version of the page Help:Lint errors/self-closed-tag and the translation is 100% complete.

此列表中的页面包含无效的自闭合 HTML 标签,例如:‎<b />, ‎<div />, ‎<span />, ‎<p />, ‎<td />。 (HTML5 规范中定义的有效的标签不会导致此错误,例如:‎<br />, ‎<hr />, ‎<wbr />[1][2] 为了与 HTML5 规范保持一致,这些无效标签的行为已经在MediaWiki 1.35 版本中改变,所以它们在 wikitext 中已经弃用。 参见 phab:T134423 以获得更多细节。

含有畸形标签的页面也会自动放入此列表中,如:</center/>, 这里通常应该删掉结尾的斜杠,改为 ‎</center>;或类似 <s>...<s/> 的错误构造,此处应该将结束标签中的斜杠,从标签结尾改到开头,改为 ‎<s>...‎</s>

类似 {<font/>{templatename}} 中,将无效的 ‎<font />‎<span /> 标签(因为没有 id=class= 等属性)当作分隔符插入文本,以避免渲染 wikicode 的做法,可以通过以下方法修复并达到同样的效果:将 ‎<font /> 替换为 ‎<nowiki />;或使用模板连接模板,例如 {{tlx|templatename}} 中的 {{tl}}{{tlx}}

一些模板包含一个锚点 |id= 参数。 当修复在此类模板前出现的,类似 <div id="..." /><span id="..." /> 的自闭合标签时,可以考虑将锚点文本从 HTML 标签中移动到模板内部,然后移除错误的自闭合标签。

如果此列表中的某个页面并不包含任何无效的自闭合标签,那么它可能嵌入包含了另一个有问题的页面或模板。

例子

无效的标记
<div> abc <div/>
正确的标记
<div> abc </div>

备注

  1. HTML5 中有效的自闭合标签的完整列表如下: area, base, br, col, embed, hr, img, input, keygen, link, meta, param, source, track, 和 wbr。 但是解析器只会将‎<br />, ‎<hr />, ‎<wbr />视为合法的标签。 HTML 的 pre 标签被 MediaWiki XML 的 pre 标签取代。
  2. 一些 MediaWiki XML 标签的自闭合形式也是有效的,如:‎<nowiki />‎<pre />,以及一些扩展标签 ‎<ref />‎<references />

工具

以下工具可以辅助修复无效的自闭合HTML标签:

参见