You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Bulma实现图片一半与黑白容器分别重叠的布局效果

Bulma实现SVG跨黑白双容器重叠效果方案

核心实现逻辑非常简单,利用绝对定位加偏移就能实现你要的一半重叠效果,全程兼容Bulma框架的原有语法,不需要改动现有布局逻辑:

实现步骤

  • 给上层黑色背景的section容器添加Bulma自带的is-relative辅助类,开启相对定位,作为SVG的定位父级
  • 将你的全宽SVG放在黑色容器的内部末尾,给SVG加自定义类名方便控制样式
  • 给SVG写少量自定义样式,用transform向上偏移自身高度的50%,就能实现一半落在黑色容器、一半落在下方白色容器的效果

代码示例

HTML结构

<!-- 上层黑色背景容器 -->
<section class="section is-dark has-background-black is-medium is-relative">
  <div class="container">
    <!-- 黑色区域原有内容 -->
    <h1 class="title has-text-white">示例标题</h1>
    <p class="subtitle has-text-white">黑色区域的其他内容</p>
  </div>
  <!-- 你的汽车SVG -->
  <img src="你的SVG文件路径" alt="汽车线条图形" class="car-svg">
</section>

<!-- 下层白色背景容器 -->
<section class="section is-white is-medium">
  <div class="container">
    <!-- 白色区域原有内容 -->
    <h2 class="title">下方内容区域</h2>
    <p>白色区域的其他内容</p>
  </div>
</section>

自定义CSS

.car-svg {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  /* 偏移自身高度的50%,正好一半跨在两个容器之间 */
  transform: translateY(50%);
  z-index: 10;
}

注意事项

  • 提前确认你的SVG背景是透明的,不然会出现多余的色块遮挡上下区域的背景
  • 如果下方白色区域的内容被SVG挡住,只需要给白色section加is-relative类,再设置z-index: 20即可,层级比SVG高就不会被遮挡
  • 移动端适配可以结合Bulma的断点规则,在小屏幕下调整transform的偏移数值,适配不同尺寸的显示效果

内容的提问来源于stack exchange,提问作者Luis Rodriguez

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 17:06:02