为什么 HTML 要求多个空格在浏览器中显示为一个空格?

新手上路,请多包涵

我早就认识到,HTML 文件中的任何一组空格都只会显示为一个空格。例如,这个:

 <p>Hello.        Hello. Hello. Hello.                       Hello.</p>

显示为:

你好。你好。你好。你好。你好。

这非常好,就好像您需要多个预格式化文本空间一样,您可以只使用

 标签。但这是什么原因呢?更准确地说, 为什么这会出现在 HTML 规范中?

原文由 Rudd Zwolinski 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1k
2 个回答

空格在 HTML 中被压缩,因为 HTML 的格式化方式和呈现方式之间存在区别。考虑这样一个页面:

 <html>
    <body>
        <a href="mylink">A link</a>
    </body>
</html>

例如,如果 HTML 使用空格缩进,则链接前面将有几个空格。

原文由 tristan 发布,翻译遵循 CC BY-SA 2.5 许可协议

要尝试解决“原因”,可能是因为 HTML 是基于以这种方式指定的 SGML 。它又基于 60 年代初期的 GML 。处理空白的原因很可能是因为当时一次输入一张“卡片”数据,这可能会导致句子和段落的意外分解。旧 GML 的一个区别是它指定句子之间必须有两个空格(就像旧的打字机规则),这可能已经建立了一个先例,即空格独立于标记。

原文由 Turnkey 发布,翻译遵循 CC BY-SA 2.5 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题