【发布时间】:2020-05-30 04:00:00
【问题描述】:
我必须说直到上周我才注意到这一点。如果你有以下 HTML
<div>
<span>A</span>
<span>B</span>
</div>
它被呈现为A B。但是,如果你在 Angular 中渲染完全相同的东西,那么 A 和 B 之间的空间就会被删除。我创建了一个 Stackblitz 来演示 Angular 中的几个案例:
<h3>With normal space</h3>
<div>
<span>A</span>
<span>B</span>
</div>
<br>
<h3> With &ngsp;</h3>
<div >
<span>A</span>&ngsp;
<span>B</span>
</div>
<br>
<h3>With ngPreserveWhitespaces</h3>
<div ngPreserveWhitespaces>
<span>A</span>
<span>B</span>
</div>
我尝试使用 Chrome DevTools 检查 HTML,但我仍然不明白它是如何完成的。对于所有情况,HTML/CSS 都是相同的。无论如何,这可能非常简单。有什么建议吗?
【问题讨论】:
-
标签之间的任何非文本都被删除,所以基本上所有内容都放在一行
-
angular 正在压缩您的代码(或者可能与 stackblitz 有关)
-
当然,在 DevTools 中你看不到任何这些,现在一切都说得通了 :)