bulma未提供css grid类,因其设计哲学坚持纯flexbox驱动、零js、模块化与移动优先;其columns系统是display: flex的封装,源码无grid-template-columns等实现,故无法通过类名启用grid布局。

不能直接用 CSS Grid 替代 Bulma 的 Flexbox 布局系统 —— Bulma 本身不提供 grid 相关类,所有布局(columns、is-flex 等)都基于 Flexbox 构建,且没有内置 Grid API。
为什么 Bulma 没有 CSS Grid 类?
Bulma 的设计哲学明确:纯 Flexbox 驱动、零 JS、模块化、移动优先。它的 columns 系统本质是 display: flex + flex-wrap + flex-basis 的封装,而非 Grid 轨道定义。官方源码中无 grid-template-columns、grid-area 或响应式 grid 修饰符(如 is-grid-desktop)的实现痕迹。
这意味着:
- 你无法通过添加 Bulma 类(如
is-grid)启用 CSS Grid -
columns和column在任何版本(包括 v1.0.4)中都不会渲染为display: grid - 试图覆盖
.columns的display值会破坏其内建的间距(gap)、对齐(is-vcentered)和响应式逻辑(is-half-tablet)
想用 CSS Grid?得自己写,但可以共存
你完全可以在 Bulma 项目中手写 CSS Grid,只要避开与 Bulma 类名冲突或覆盖其核心布局行为即可。常见安全做法:
- 用自定义类名(如
my-grid、dashboard-layout),不复用columns/column - 对 Grid 容器显式设置
display: grid,并用grid-template-areas或grid-template-columns控制结构 - 在 Grid 子项中谨慎使用 Bulma 的辅助类(如
has-text-centered、is-size-4),它们不影响布局模型 - 避免给 Grid 容器加
is-flex或columns—— 这会导致 display 冲突,浏览器会按层叠顺序丢弃后声明的 display 值
示例(安全混用):
<div class="my-grid">
<header class="my-header has-text-centered">Header</header><aside class="my-sidebar"><menu class="menu">...</menu></aside><main class="my-main"><section class="section">Content</section></main>
</div>
<style>
.my-grid {
display: grid;
grid-template-areas:
"header header"
"sidebar main";
grid-template-columns: 240px 1fr;
height: 100vh;
}
.my-header { grid-area: header; }
.my-sidebar { grid-area: sidebar; }
.my-main { grid-area: main; }
</style>
哪些场景下硬切 Grid 反而更麻烦?
如果你正在处理的是典型「多列内容流」(比如文章列表、卡片网格、表单分栏),Bulma 的 columns + is-variable + is-multiline 组合已经足够简洁可靠:
-
columns is-multiline is-variable is-8自动换行 + 间隙控制,比手写grid-auto-flow: dense更直觉 -
column is-4-tablet is-6-mobile的断点宽度映射,比维护多套@media+grid-template-columns更轻量 - 嵌套
columns无需额外 wrapper —— Grid 中嵌套需重新定义display: grid,容易漏掉
真正值得上 Grid 的,是固定区域划分(如仪表盘:header / sidebar / main / status-bar)、复杂重排(拖拽布局、模态框内部结构)或需要 grid-area 显式定位的 UI。这些 Bulma 不覆盖,也无意覆盖。
最后提醒:Bulma 的 columns 在 v1.x 中已稳定多年,它不是“旧版 Flexbox”,而是针对内容流布局的高度抽象。强行替换成 Grid,往往不是升级,而是绕过框架优势去重复造轮子 —— 尤其当你还需要保持移动端堆叠、等宽适配、间隙一致性时。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











