何时使用 CSS 列?

Avatar of Geoff Graham
Geoff Graham

DigitalOcean 为您旅程的每个阶段提供云产品。立即开始使用 200 美元的免费额度!

这不是在说反话:我真的很想知道 CSS 多列布局的优秀用例。

答案似乎很简单。当您想将任何内容拆分为多列时,使用列,对吧?通常,您会在展示 CSS 多列布局工作原理的文章中找到此类示例,包括我们自己的 年鉴

没错。但这真的是一个实际的用例吗?也许吧。 如果文本相对较短,那么它可能是一个不错的点缀。几年前,在重新设计我的网站时,我就是这样说服自己的 几年以前。现在不是这样了,但这就是它当时的样子

但是将整篇长篇文章拆分为多列?我喜欢报纸上的这种格式,但我不太想向下滚动网页阅读一列,然后又向上滚动阅读另一列。

我想我们可以用它来并排放置两个元素,但 Flexbox 更适合这种情况。此外,一个限制阻止我们选择列并单独调整它们的大小。列必须具有相同的宽度。

列的一个优点是,它是唯一一种可以分段内容的 CSS 布局方法。(除非我们算上 CSS 区域…… 它们怎么了?!)因此,如果您想将段落拆分为多列,则无需额外的包装器即可实现。

您还需要在哪些情况下将连续的文本块拆分为多列?我记得在处理一个很大的无序项目列表时需要这样做。我喜欢列表使内容易于扫描的方式,但长列表会使页面的一侧看起来非常沉重。例如,假设我们正在按字母顺序对 CSS-Tricks 的所有帖子标签进行列出。多列布局非常适合这种情况

继续调整视口宽度。定义了三列,但数量会根据可用空间的数量而变化。必须喜欢所有这些响应式效果,而无需使用媒体查询!

我正在为 :left 伪类制作一个演示,并使用了 columns,因为它是一种为打印演示分段内容的好方法。因此,我想这是一个其他用例。在制作演示的过程中,我意识到可以使用多列布局创建项目(如图片库)的砌体网格

但还有其他什么?我们是否仅限于短段落、长列表和自由流动的网格?