HTML中的换行与空格

在html中,如果你的字符串是写在某个标签里面的,那么不管是真正的回车换行还是你用转义 \n换行,你都得不到你想要的结果:

<p>
  abc\n
  `def\n`
  "ghi\n"
  fd
</p>

这段标签最后会显示成这样:

normal.png

也就是说,真正的回车换行会变成空格,你想象中的转义会被原封不动的显示出来。为了解决这个问题,你需要CSS中的一个属性 — white-space

这个属性被用来”告诉“html如何处理”空白“元素,但是这里的空白并不是你想象中的空格。这里的”空白“指的是用于显示正常字符之间的水平或者垂直的空格。所以你会发现在html中多个空格最后会被显示成一个空白,回车也会被显示成一个空白。

这个时候可以将white-space设置成:

  • pre-wrap — 连续的空白符会被保留。在遇到换行符或者<br>元素,或者需要为了填充line盒子时才会换行。
  • pre-line — 连续的空白符会被合并。在遇到换行符或者<br>元素,或者需要为了填充line盒子时会换行。
<p style="white-space: pre-wrap;">
  ab    c\n
  `def\n`
  "ghi\n"
  
  fddf
</p>

<p style="white-space: pre-line;">
  ab    c\n
  `def\n`
  "ghi\n"
  
  fddf
</p>

上面的两段代码会被分别渲染成:


pre-warp.png
pre-line.png
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • space="nbsp" HTML提供了5种空格实体(space entity),它们拥有不同的宽度,非断行空格(...
    写给猫阅读 1,706评论 0 1
  • 1.块级元素和行内元素 块级(block-level)元素;行内(内联、inline-level)元素。 块元素的...
    饥人谷_小侯阅读 2,200评论 1 4
  • 作者:阮一峰www.ruanyifeng.com/blog/2018/07/white-space.html 一、...
    grain先森阅读 1,437评论 0 10
  • 文本换行其实是个非常常用但并不起眼的特性。你什么都不用设,浏览器自动就会换行。例如英语,浏览器会根据容器尺寸,选择...
    张歆琳阅读 8,628评论 1 7
  • HTML 5 HTML5概述 因特网上的信息是以网页的形式展示给用户的,因此网页是网络信息传递的载体。网页文件是用...
    阿啊阿吖丁阅读 4,951评论 0 0

友情链接更多精彩内容