Html 为什么<;br>;标记在行之间添加额外的空格,以及如何消除

Html 为什么<;br>;标记在行之间添加额外的空格,以及如何消除,html,whitespace,removing-whitespace,Html,Whitespace,Removing Whitespace,我有一个HTML代码片段 <p> REMIT TO ADDRESS: <br></br> 1233 Main St<br></br> Lockbox 123<br></br> Anytown USA<br></br> <p /> 汇款地址: 1233主街 锁箱123 美国任何城市 当在浏览器中作为HTML文件的一部分查看时,它会在下面适当地呈现。 汇款地址:

我有一个HTML代码片段

<p>
 REMIT TO ADDRESS: <br></br>
 1233 Main St<br></br>
 Lockbox 123<br></br>
 Anytown USA<br></br>
<p />

汇款地址:

1233主街

锁箱123

美国任何城市

当在浏览器中作为HTML文件的一部分查看时,它会在下面适当地呈现。 汇款地址:
1233主街
锁箱123
美国任何城市

当HTML电子邮件消息、相同的浏览器、Outlook或任何其他程序中包含相同的代码片段时,它最终看起来就像

汇款地址:

1233主街

锁箱123

美国任何城市

当我在MS Edge中查看源时,它看起来像

汇款地址:\u003cbr\u003e\u003cbr\u003e 1233主街\u003cbr\u003e\u003cbr\u003e 锁箱123\u003cbr\u003e\u003cbr\u003e 美国Anytown\u003cbr\u003e\u003cbr\u003e\u003cp\u003e\u003cbr\u003e

当我查看Chrome中的源代码时,每行后面都会添加一个额外的


你知道为什么会这样吗?

只要


就足够了。

在HTML中工作。在XHTML中,标记必须以/结尾,因此




不是有效的HTML,我想这就是为什么您在源代码中看到双线

参见此处

br
为无效元素。因此HTML需要


。但是


变成了


。然而,在XHTML中,



相同。一个好的技巧是使用html验证器,例如,理想情况下共享整个页面。这些不会总是标记所有的问题,像这个br double-up,但它们通常会标记。值得注意的是Firefox(出于一些奇怪的原因)。这是不正常的,我不知道他们为什么这样做(至少在HTML5中是这样)。我刚刚尝试了你的HTML snipset,在浏览器上,它呈现出与你在HTML电子邮件中得到的类似的效果