使用CSS多列布局可实现报纸式排版。1. 用column-count设置列数,如3列;2. 用column-width定义每列最小宽度,实现响应式;3. column-gap调整列间距,column-rule添加分隔线;4. break-inside避免元素拆分,column-span让特定元素横跨所有列。该模块适合长文本排版,无需浮动或Flexbox,简洁高效。

想要实现多列文章排版,CSS 提供了专门的 多列布局(Multi-column Layout) 模块,使用起来简单高效,适合长文本内容的报纸式排版。不需要借助浮动或 Flexbox,只需几个属性即可完成。
1. 使用 column-count 设置列数
通过 column-count 属性可以指定希望将内容分成几列。
例如:.article {
column-count: 3;
}
这会把类名为 article 的元素内容自动分为 3 列。浏览器会自动处理每列的宽度和间距。
2. 使用 column-width 设置每列宽度
如果你更关心每列的宽度而不是具体列数,可以用 column-width。浏览器会根据容器宽度自动调整实际列数。
立即学习“前端免费学习笔记(深入)”;
示例:.article {
column-width: 200px;
}
这表示每列宽度至少为 200px,容器足够宽时会显示多列,窄屏下自动变为单列,适合响应式设计。
3. 控制列间距与分隔线
你可以用 column-gap 调整列之间的空白距离,默认是 1em。
一套面向小企业用户的企业网站程序!功能简单,操作简单。实现了小企业网站的很多实用的功能,如文章新闻模块、图片展示、产品列表以及小型的下载功能,还同时增加了邮件订阅等相应模块。公告,友情链接等这些通用功能本程序也同样都集成了!同时本程序引入了模块功能,只要在系统默认模板上创建模块,可以在任何一个语言环境(或任意风格)的适当位置进行使用!
.article {
column-count: 3;
column-gap: 30px;
}
如果想加一条竖线分隔各列,使用 column-rule:
.article {
column-count: 3;
column-gap: 30px;
column-rule: 1px solid #ccc;
}
这条“规则线”不会影响布局宽度,只是视觉上的分隔。
4. 防止元素被拆分或跨列
某些元素(如图片、标题)可能被拆分到不同列,影响阅读。可以用 break-inside 避免:
.article h2,
.article figure {
break-inside: avoid;
}
若想让某个元素横跨所有列(比如一个居中的大标题),使用 column-span:
.full-width-title {
column-span: all;
}
注意:column-span 只对块级元素有效,且其父容器必须启用多列布局。
基本上就这些。CSS 多列布局简洁实用,特别适合文章、博客、杂志类页面排版。关键是根据内容选择 column-count 还是 column-width,并合理设置间距和断行行为,就能实现美观又响应式的多列效果。









