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
相关推荐
weixin_395448915 分钟前
main.c_0222cursor
c语言·前端·算法
无尽的沉默25 分钟前
Thymeleaf 表达式
java·开发语言·前端
无尽的沉默27 分钟前
Spring Boot 整合 Thymeleaf 模板引擎
java·前端·spring boot
We་ct33 分钟前
从输入URL到页面显示的完整技术流程
前端·edge·edge浏览器
先做个垃圾出来………1 小时前
DeepDiff差异语义化特性
服务器·前端
蓝帆傲亦1 小时前
前端常用可视化图表组件大全
前端
CappuccinoRose2 小时前
HTML语法学习文档(九)
前端·学习·架构·html5
NEXT062 小时前
BFC布局
前端·css·面试
菜鸟小芯2 小时前
【GLM-5 陪练式前端新手入门】第四篇:卡片布局 —— 让个人主页内容更有层次
前端·人工智能
Hello.Reader2 小时前
Leptos + Tauri 2 前端配置Trunk + SSG + 移动端热重载一次打通(Leptos 0.6 口径)
前端