HTML5支持多列布局的三种方法:一是用CSS column属性实现文本自动分列;二是用Flexbox手动分布结构化子元素;三是用CSS Grid进行二维精确控制。

如果您希望在网页中将一段文本或内容横向拆分为多列显示,HTML5 提供了原生支持的 CSS 多列布局(multi-column layout)以及更灵活的 Flexbox 布局方案。以下是实现内容拆分为多列的多种方法:
一、使用 CSS column 属性实现多列布局
CSS 的 column-count 和 column-width 属性是 HTML5 中专为文本流式多列排版设计的标准方案,适用于段落、文章等连续文本内容,浏览器原生支持且语义清晰。
1、在需要拆分的容器元素上添加 class="columns" 或直接设置内联样式。
2、为该容器设置 column-count: 3,指定显示为 3 列;或使用 column-width: 200px 让浏览器自动计算列数。
立即学习“前端免费学习笔记(深入)”;
3、可选地添加 column-gap: 20px 控制列间距,以及 column-rule: 1px solid #ccc 添加列间分隔线。
二、使用 Flexbox 布局手动划分内容块
Flexbox 不适用于自动断行文本,但适合将已结构化的子元素(如 div、article)按列分布,尤其当每列需独立控制样式、高度或交互行为时。
1、将父容器的 display 属性设为 flex,并添加 flex-wrap: wrap 允许换行。
2、为每个子元素设置固定宽度,例如 flex: 0 0 calc(33.333% - 10px),配合 margin 实现三列等宽布局。
3、通过 justify-content: space-between 或 space-around 调整子元素水平分布方式。
三、使用 CSS Grid 实现精确列控制
CSS Grid 提供行列二维控制能力,适用于需要严格列数、列宽、响应式断点及跨列内容的复杂布局场景,是 column 和 Flexbox 的有力补充。
1、为容器设置 display: grid,并定义列轨道,例如 grid-template-columns: repeat(3, 1fr) 创建三等宽列。
2、可配合 gap: 16px 统一设置行列间距,无需额外 margin。
3、对特定子元素使用 grid-column: span 2 实现跨列,例如标题横跨两列。










