CSS分栏布局

分栏布局将区域划分为若干垂直的栏,子元素放置到栏中,填满一个后再填充下一个。如果设置了 column-count 栏数量或 column-width 栏宽度,元素就成为分栏容器。需要注意, column-width 实际上是最小栏宽度。浏览器使用这个值计算栏的数量,如果还有额外的空间,浏览器会增加栏的实际宽度。

如果内容不能填满所有栏,可以使用 column-fill 属性,将内容优先填满靠左侧的栏,或者平均分配到每个栏中。

代码1 column-fill属性

复制代码
column-fill: auto;      /* 内容优先填充靠左侧的栏。 */
column-fill: balance;   /* 内容平均分配到每个栏中。 */

各栏之间的距离通过 column-gap 属性控制。

代码2 column-gap属性

复制代码
column-gap: 8px;
column-gap: 10%;

栏与栏之间存在一条界线,和边框、轮廓一样,它也有3个样式属性和属性简写:

代码3 column-rule-*

复制代码
column-rule-color: red;      /* 界线色彩。 */
column-rule-style: dotted;   /* 界线风格。 */
column-rule-width: 12px;     /* 界线宽度。 */
column-rule: solid 6px blue; /* 属性简写。 */

如果希望分栏容器中的某个子元素跨越所有的栏,可以将子元素的 column-span 属性设置为 all

CSS为分栏属性提供了简写:

代码4 columns简写

复制代码
columns: 20em;       /* column-width: 20em; */
columns: 2;          /* column-count: 2; */
columns: 2 auto;     /* column-count: 2; column-width: auto; */
columns: auto 12em;  /* column-count: auto; column-width: 12em; */
相关推荐
失忆爆表症10 小时前
05_UI 组件库集成指南:Shadcn/ui + Tailwind CSS v4
前端·css·ui
会一丢丢蝶泳的咻狗16 小时前
Sass实现,蛇形流动布局
前端·css
EchoEcho20 小时前
记录overflow:hidden和scrollIntoView导致的页面问题
前端·css
im_AMBER21 小时前
告别“玄学”UI:从“删代码碰运气”到“控制 BFC 结界”
前端·css
芳草萋萋鹦鹉洲哦1 天前
【Tailwind】动画解读:Tailwind CSS Animation Examples
前端·css
Mr Xu_2 天前
前端开发中CSS代码的优化与复用:从公共样式提取到CSS变量的最佳实践
前端·css
Lee川2 天前
CSS盒模型实战:用代码透视 `border-box`与 `content-box`的天壤之别
css
哈里谢顿2 天前
CSS 入门完全指南:从零构建你的第一个样式表
css
. . . . .2 天前
CSS 编写与管理范式 - Tailwind和CSS-in-JS
css
RFCEO3 天前
前端编程 课程十六、:CSS 盒子模型
css·前端基础课程·css盒子模型·css盒子模型的组成·精准控制元素的大小和位置·css布局的基石·内边距(padding)