W3C 标记验证 要求我删除页面上的尾部斜杠。
这是正确的吗?我的页面在所有浏览器中仍然兼容吗?
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<meta http-equiv="content-style-type" content="text/css" **/**>
这是正确的。对于 HTML 4.01,您不应该为
meta
元素添加尾部斜杠(自闭合标签),如果我没记错的话,我相信 <link>
元素。
xhtml 但需要尾部斜杠。
XHTML
是带有 HTML
语法的 XML
。在 XML 中,所有标签都必须闭合。某些 HTML 标签没有结束标签,因此在 XHTML 中它们需要自闭合。这是通过在 /
前面放置 >
来实现的。
因此,必须更改带有
/>
的任何标签,以删除正斜杠以符合 HTML。
这些并不是两种规格之间的唯一区别。
问题的答案是肯定的,你应该去掉多余的固相线。 (如果您愿意,也可以称为尾部斜杠)。
HTML5 也是如此。 HTML 不需要在结束 > 字符之前使用斜杠(又名“自闭合”标签,也是用词不当),例如
<link />
、<meta />
、<br />
、<hr />
等,以及由于多种原因,不鼓励这种使用,如所提供的超链接的目标中所讨论的。注意:最好始终参考官方 W3C 或 WHATWG 资源中的 HTML 规范。 (例如 https://html.spec.whatwg.org/multipage/#toc-semantics )
有关历史的更多信息,请参见: https://www.cnet.com/culture/forming-pains-afflict-html5-standardization/
尾部斜杠是为了促进 XHTML 中的 XML“兼容性”,并且通常仅在使用 XHTML 严格文档类型时用户代理才会考虑。 (例如 Transitional 只是将其解析为 HTML)
该语法仍然广泛使用错误(例如,据称 WordPress 是 2023 年网络上最流行的内容管理系统。查看大多数 WP 网站的源代码,您会发现它在 HTML 中使用了不正确的语法。但是,值得注意的是,代码格式化应用程序 Prettier 至少有部分责任)
这里有一个用例。
<meta>
标签不得有尾部斜杠。
我有 5 个不同的网站,想将它们从搜索引擎结果中删除。
我设置了元标签
<meta name="robots" content="noindex">
结果,其中 4 个从 Bing 和 Google 搜索结果中完全消失了。但是,仍然只出现一页。
我终于找到原因了。 唯一仍然出现的页面在元标记中有尾部斜杠,其他 4 个页面没有。