我应该删除元标记中的尾部斜杠吗?

问题描述 投票:0回答:4

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 meta-tags w3c-validation html4
4个回答
10
投票

这是正确的。对于 HTML 4.01,您不应该为

meta
元素添加尾部斜杠(自闭合标签),如果我没记错的话,我相信
<link>
元素。

xhtml 但需要尾部斜杠。


5
投票

XHTML
是带有
HTML
语法的
XML
。在 XML 中,所有标签都必须闭合。某些 HTML 标签没有结束标签,因此在 XHTML 中它们需要自闭合。这是通过在
/
前面放置
>
来实现的。

因此,必须更改带有

/>
的任何标签,以删除正斜杠以符合 HTML。

这些并不是两种规格之间的唯一区别。


3
投票

问题的答案是肯定的,你应该去掉多余的固相线。 (如果您愿意,也可以称为尾部斜杠)。

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 至少有部分责任)


0
投票

这里有一个用例。

<meta>
标签不得有尾部斜杠。

我有 5 个不同的网站,想将它们从搜索引擎结果中删除。

我设置了元标签

<meta name="robots" content="noindex">

结果,其中 4 个从 Bing 和 Google 搜索结果中完全消失了。但是,仍然只出现一页。

我终于找到原因了。 唯一仍然出现的页面在元标记中有尾部斜杠,其他 4 个页面没有。

© www.soinside.com 2019 - 2024. All rights reserved.