如何用css框架Bulma实现网格布局

Bulma通过columns和column类实现响应式网格布局,基于Flexbox支持自动均分、比例设置、断点控制及嵌套。使用is-one-third等类定义宽度,is-mobile控制显示行为,可变间隙和嵌套提升布局灵活性。

使用 Bulma 实现网格布局非常简单,主要依赖其内置的 Columns 系统和 Grid 结构。Bulma 的网格基于 Flexbox,响应式设计开箱即用,无需额外配置。

基本 Columns 布局

Bulma 的核心网格单位是 columnscolumn。父容器使用 columns,子元素使用 column 自动均分空间。

Column 1 Column 2 Column 3 Column 4

以上代码会生成四等分的响应式列,屏幕变小时自动堆叠为垂直排列。

指定列宽比例

你可以通过添加宽度类控制每列的比例,例如 is-one-thirdis-half 等。

占 3/4 宽度 占 1/4 宽度

支持的宽度类包括:is-fullis-three-quartersis-two-thirdsis-halfis-one-thirdis-one-quarter,以及 is-1is-11(对应 1/12 到 11/12)。

响应式断点控制

Bulma 支持移动端优先的响应式类,可针对不同设备设置列行为:

  • is-mobile:在所有设备上保持水平排列
  • is-desktop:仅在桌面端水平排列
  • 使用 is-one-half-tablet 等后缀可按设备设定宽度
手机上也并排显示 各占一半宽度

嵌套与间距控制

columns 可以嵌套使用,实现复杂布局。

主内容区

子列 1 子列 2

侧边栏

还可以通过 is-gapless 移除列间间距,或使用 is-variable is-4 调整间隙大小。

基本上就这些。Bulma 的网格系统简洁直观,适合快速搭建响应式页面结构。掌握 columns 和 column 的组合方式,就能应对大多数布局需求。不复杂但容易忽略细节,比如注意容器层级和类名拼写。基本上照着文档用几次就熟悉了。