CSS 多栏生成器,免费

以实时预览创建报纸式多栏布局。调整栏数、间距、样式和分栏线宽度。

预览
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium.
CSS 代码

    

CSS 多列布局是什么

CSS 多列布局(W3C「CSS Multi-column Layout Module Level 1」规范)将单个元素的内容自动重新分配到两列或更多列,就像几个世纪以来报纸和杂志印刷处理长文本的方式。你声明想要多少列(或每列应有多宽),浏览器便从上到下、从左到右分配内容,平衡各列的行数,使每列大致在同一高度结束。该模块于 2011 年 4 月成为 W3C 候选推荐标准,并在 Firefox 3.5(2009 年 6 月)至 IE 10(2012 年 10 月)之间以可用形式登陆各浏览器。它已是Web 平台十多年的基线特性。与 Flexbox 或 Grid 不同(后者将离散的子元素对齐到已知位置)多列布局把内容视为单一连续的流,由浏览器根据可用高度切分成若干列。

CSS 列何时是合适的工具

column-count 与 column-width,最重要的区别

指定列的两种方式,对响应式设计来说选择很重要。column-count: 3 硬编码三列(在任何视口宽度下,浏览器都会精确产生三列,并随着容器变窄而变得更窄。在手机上,三列会变成无法阅读的细长条。column-width: 250px 则要求列「至少 250 像素宽」;浏览器会计算容器中能容纳多少列,并在视口变化时自动重排。宽屏获得许多列,窄屏获得少数或一列)无需任何媒体查询。组合模式是现代最佳实践:columns: 250px 4(column-width 加 column-count 的简写)意味着「列宽 250 像素,但永远不超过 4 列」。浏览器在宽桌面上产生 4 列,在平板上更少,在手机上一列,自动响应式。绝大多数生产 CSS 因其稳健性而使用这种组合形式。

控制内容在何处断开

默认情况下浏览器会在落到的位置断开列(这有时会把标题与第一段分开,或把卡片切成两半。CSS 属性 break-inside: avoid(CSS Fragmentation Module Level 3)告诉浏览器「不要把这个元素跨列分割」)通常应用于卡片、图形和任何应保持在一起的内容。break-before: column 在元素之前强制列断开,对「让每个章节在新列中开始」很有用。column-span: all 让标题或要点横跨所有列的全部宽度,突破列流,多列正文上方的文章标题就常用此方式。

需要留意的陷阱

多列布局有些值得了解的微妙交互。屏幕阅读器的阅读顺序遵循 DOM 顺序,通常与视觉上从上到下的列顺序一致(但辅助技术在复杂布局上偶尔会出现混乱。多列下的打印分页可能在跨页时产生奇怪的列平衡;如果在意纸面输出,请用打印样式表测试。长内容向下填充)如果你给多列容器一个比内容所需更短的固定高度,内容会溢出;如果不限制高度,浏览器会把列平衡到大致相等的长度。锚定内容(表单、需要保持在一处的交互元素)在列中表现不佳,因为用户无从知道该看哪里。同层级混用 Grid 或 Flexbox会产生不可预测的结果,每个容器只选一种布局方法。

生成的 CSS 属性

相关工具

CSS Grid 生成器,免费 CSS 盒模型可视化工具,免费 CSS Flexbox 生成器,免费 CSS clip-path 生成器,免费