为什么在``显示在浏览器后放置内容?

时间:2012-01-18 18:04:34

标签: html xhtml tags browser quirks-mode

我试图存储一些我稍后可能会在文档的</html>标记之后使用的文本(就像我在LaTeX中经常使用\end{document}一样),但浏览器仍会显示文本。

我理解该页面是由<html></html>之间的内容定义的,为什么要显示</html>以外的内容?

3 个答案:

答案 0 :(得分:13)

这是因为浏览器非常努力地使用格式错误的标记做正确的事情。解决方案是只创建格式良好的文档。

如果您真的想在文档中存储cruft,请将其放在xml / sgml注释中:<!-- this is a comment -->

答案 1 :(得分:6)

HTML是标记语言。更具体地说,它是网页应该遵循的一组标准,以便显示内容并使其对最终用户,机器人等更具逻辑性。所有内容都是假设的包含在<html>标记内,以便遵循标准。但是,浏览器更担心显示内容,因此无论它们是否在元素内,它们都会显示您的元素,只是因为它们在那里。

您需要担心的主要事实是遵循标准并确保您的元素在允许的位置。把东西放在随机的地方只是为了看看它们是否仍然有效可能会导致它们正常工作。但仅仅因为工作并不意味着它在语义上是正确的并遵循标准。

答案 2 :(得分:2)

基本上因为浏览器会呈现所有内容。要隐藏要在以后使用的文本,请使用:

<div style="display:none"">Text</div>