使用Bulma框架可通过columns和column类结合is-one-third等响应式修饰创建多设备适配的卡片布局,利用card组件构建标题、内容、操作区域等结构化内容,并通过mx-2、my-4、has-text-centered等辅助类优化间距与对齐,实现无需自定义CSS的专业级响应式卡片界面。

在使用Bulma框架构建响应式网页时,卡片布局是一种常见且实用的设计模式。通过结合Bulma内置的Flexbox网格系统(columns 和 column)以及丰富的辅助类(helper classes),你可以快速创建美观、适配多设备的卡片界面,而无需编写额外的CSS。
使用Columns实现卡片容器布局
Bulma的columns类基于Flexbox,提供了一种简单的方式来并排排列子元素,并在小屏幕上自动堆叠。将一组卡片放入带有columns类的容器中,每个卡片包裹在column中,即可实现灵活的栅格布局。
你可以通过为column添加修饰类来控制每行显示的卡片数量:
-
is-half:每行最多两个卡片(适用于平板) -
is-one-third:每行最多三个卡片(适用于桌面) -
is-one-quarter:每行最多四个卡片
例如,以下代码会在桌面端显示三列,在移动端自动变为单列堆叠:
立即学习“前端免费学习笔记(深入)”;
<div class="columns is-multiline"><div class="column is-one-third">
<div class="card">...</div>
</div>
<div class="column is-one-third">
<div class="card">...</div>
</div>
<div class="column is-one-third">
<div class="card">...</div>
</div>
</div>
利用Card组件构建内容卡片
Bulma提供了card组件,包含标题、内容、媒体和操作区域等结构化部分。一个典型的卡片结构如下:
<div class="card-image">
<figure class="image is-4by3">
<img src="example.jpg" alt="Placeholder image">
</figure>
</div>
<div class="card-content">
<p class="title is-4">卡片标题</p>
<p class="subtitle is-6">副标题信息</p>
<div class="content">
这里是卡片正文内容。
</div>
</div>
<footer class="card-footer">
<p class="card-footer-item">
<a href="#">分享</a>
</p>
<p class="card-footer-item">
<a href="#">了解更多</a>
</p>
</footer>
</div>
这种结构清晰,语义明确,配合Bulma默认样式可直接呈现良好视觉效果。
借助Helper类增强视觉与间距控制
Bulma的辅助类让样式调整变得非常便捷。你可以在卡片或容器上添加这些类来优化外观:
-
mx-2或px-3:控制外边距或内边距 -
my-4:为卡片之间添加垂直间距 -
has-text-centered:使文本居中对齐 -
is-shadowless:移除卡片阴影(如果需要更扁平风格)
例如,给每个column添加mb-5可在小屏幕上改善卡片之间的垂直间隔:
响应式优化与对齐处理
为了确保布局在不同屏幕尺寸下表现良好,可以组合使用多个响应式列类:
<div class="column is-full has-text-centered"><h2 class="title">我们的服务</h2>
</div>
<div class="column is-one-third-desktop is-half-tablet is-full-mobile">
<div class="card">...</div>
</div>
上面的例子表示:在桌面端占三分之一宽度,平板占一半,手机占满整行。同时使用is-multiline确保换行正常。
基本上就这些。通过Bulma的Flexbox columns、card组件和helper类协同工作,你可以高效构建出专业级的卡片布局,专注内容而非样式细节。










