HTML文本换行显示几种方法总结

在HTML中实现文本换行显示有以下几种常用方法:

1. 使用 <br> 标签

最直接的换行方式:

html 复制代码
<p>
  这是第一行<br>
  这是第二行<br>
  这是第三行
</p>

2. 使用 <pre> 标签

保留原始文本格式,包括换行和空格:

html 复制代码
<pre>
这是第一行
这是第二行
  这里保留了空格
</pre>

3. 使用 CSS 样式

方式一:white-space: pre-line

html 复制代码
<p style="white-space: pre-line;">
  这是第一行
  这是第二行
  这是第三行
</p>

方式二:white-space: pre-wrap

html 复制代码
<div style="white-space: pre-wrap;">
  这是第一行
  这是第二行
  这里有很多空格      也会被保留
</div>

方式三:white-space: pre

html 复制代码
<p style="white-space: pre;">
  文本将完全按照源代码中的格式显示
  包括所有换行和空格
</p>

4. 不同CSS属性对比

html 复制代码
<div style="white-space: normal;">默认:合并空格和换行</div>
<div style="white-space: nowrap;">不换行:所有内容在一行</div>
<div style="white-space: pre;">保留所有空格和换行</div>
<div style="white-space: pre-wrap;">保留换行,允许自动换行</div>
<div style="white-space: pre-line;">合并空格,保留换行</div>

5. 实战示例

html 复制代码
<!DOCTYPE html>
<html>
<head>
  <style>
    .pre-line {
      white-space: pre-line;
      background-color: #f0f0f0;
      padding: 10px;
      margin: 10px 0;
    }
    .pre-wrap {
      white-space: pre-wrap;
      background-color: #e0e0e0;
      padding: 10px;
      margin: 10px 0;
    }
  </style>
</head>
<body>
  <!-- 使用br标签 -->
  <p>第一行<br>第二行<br>第三行</p>
  
  <!-- 使用pre标签 -->
  <pre>
  这是pre标签
  保留所有格式
      包括缩进
  </pre>
  
  <!-- 使用CSS -->
  <div class="pre-line">
    这是第一行
    这是第二行
    多个空格   会被合并
  </div>
  
  <div class="pre-wrap">
    这是第一行
    这是第二行
    多个空格   会被保留
  </div>
</body>
</html>

推荐使用场景

  • 简单换行 :使用 <br> 标签
  • 需要保留格式的代码/诗歌 :使用 <pre> 标签
  • 从数据库/API获取的带换行文本 :使用 white-space: pre-linewhite-space: pre-wrap
  • 需要响应式设计:使用CSS方式,能更好地适应不同屏幕尺寸

注意事项

  • 在HTML中直接输入的换行符(回车)默认不会被显示
  • 从JavaScript字符串或后端API获取的文本中的换行符(\n)可以使用CSS的 white-space 属性来显示
  • 如果文本内容来自用户输入,建议使用 white-space: pre-wrap 来同时保留换行和允许自动换行
    参考:https://www.abcode.cn/articles/html-newline
相关推荐
光影少年7 小时前
大屏页面,一次多个请求,请求加密导致 点击 全局时间选择器 时出现卡顿咋解决(面板收起会延迟1~2秒)
前端·javascript·vue.js·学习·前端框架·echarts·reactjs
Mr.mjw7 小时前
vue中封装一个环形进度条组件,根据外部盒子大小自适应变化
前端·javascript·vue.js
无心使然7 小时前
Openlayers调用ArcGis影像服务之一动态地图、地图切片(/exportImage)
前端·javascript·数据可视化
唯火锅不可辜负7 小时前
uniapp开发公众号订阅功能踩坑小记
前端·vue.js
opteOG7 小时前
游览器跨域问题详解
前端
SameX8 小时前
后台 GPS 记录从半天掉电 30% 到全天 8%,我的三版方案演进
前端
Cder8 小时前
用 React + Ink 在终端里「优雅搜索」:开源 CLI 设计与非交互模式实践
前端·agent
像我这样帅的人丶你还8 小时前
前端监控体系与实践(二):全局监控
前端·javascript·vue.js
颜酱8 小时前
LLM为核,上下文为限:拆解AI Agent生态的底层逻辑
前端·人工智能
前端那点事8 小时前
Vue3 超全复盘!30+前端高频核心知识点(开发+面试全覆盖)
前端·vue.js