You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让Markdown单列表格垂直分栏填充页面空白后再换页?

垂直分栏解决长列表空白问题

推荐方案:HTML+CSS自动垂直分栏

用CSS的column属性就能实现内容从上到下填满一栏后自动流到下一栏,打印时还会自动换页,完美解决空白浪费的问题。代码示例如下:

<style>
  .vertical-list {
    columns: 2; /* 先设2栏,可根据页面宽度调整数量 */
    column-gap: 20px; /* 栏之间的间距 */
    break-inside: avoid; /* 避免单个内容块跨栏/跨页 */
  }
  .list-item {
    margin-bottom: 8px; /* 每个条目之间的间距 */
  }
  /* 打印时可调整栏数,比如设3栏更节省纸张 */
  @media print {
    .vertical-list {
      columns: 3;
    }
  }
</style>

<div class="vertical-list">
  <div class="list-item">Column Header</div>
  <div class="list-item">Item 1</div>
  <div class="list-item">Item 2</div>
  <div class="list-item">Item 3</div>
  <div class="list-item">...</div>
  <div class="list-item">Item i</div>
  <div class="list-item">...</div>
  <div class="list-item">Item n</div>
</div>
  • 核心是columns属性:指定分栏数后,内容会自动垂直填充,第一栏满了就流去下一栏,完全不用手动拆分。
  • break-inside: avoid能保证单个条目不会被拆成两半,显示和打印都更美观。

纯Markdown手动分栏(仅适合短列表)

纯Markdown没有原生自动分栏功能,只能手动把列表拆成多列表格,比如:

| Column Header | Column Header | Column Header |
| ------------- | ------------- | ------------- |
| Item 1        | Item 11       | Item 21       |
| Item 2        | Item 12       | Item 22       |
| ...           | ...           | ...           |
| Item 10       | Item 20       | Item n        |

但这种方式需要自己算好拆分点,内容更新时还要手动调整,只适合条目少、不常改的场景。

注意点

  • 主流Markdown编辑器(比如VS Code、Typora)都支持内嵌HTML和CSS,直接复制代码就能渲染。
  • 导出PDF或打印时,用Chrome浏览器的打印功能对这个CSS规则支持最好,能完美实现分页填充。

内容的提问来源于stack exchange,提问作者Herman Autore

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 13:55:16