【问题标题】:<pre> is not preserving whitespace<pre> 不保留空格
【发布时间】:2019-11-26 17:10:59
【问题描述】:

为什么会这样:

<pre style="background:red">
line 1
</pre>

渲染相同:

&lt;pre style="background:red"&gt;line 1&lt;/pre&gt;

第一个有两个换行符,但浏览器似乎忽略了它们。这是什么规则?

【问题讨论】:

  • &lt;br&gt; 将添加另一行,所以它看起来像这样:&lt;pre style="background:red"&gt;&lt;br&gt;line 1&lt;br&gt;&lt;/pre&gt;
  • 中断在 html 中并不重要,正如@RamondeVries 所说,您应该使用
    代替
  • 根据spec,“在HTML 语法中,紧跟&lt;pre&gt; 元素开始标记的前导换行符被剥离。”
  • @AlbertoSinigaglia 你以前听说过
     吗?打破肯定很重要。
  • @Alan 不是第一个,如你所见

标签: html css whitespace pre


【解决方案1】:

如果文本节点以空格(空格、换行)开头,HTML 解析器将忽略它。将新行编码为适当的 HTML 实体会强制解析器对其进行确认。

&#13; == carriage return

改用这个:

&lt;pre style="background:red"&gt;&amp;#13;line 1&lt;/pre&gt;

pre 标记将保留其间的所有格式,但不在开头

更多信息请见https://stackoverflow.com/a/15529725/6852641

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-10-29
  • 2018-05-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多