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

使用Bootstrap时如何将一个div放置在另一个div下方?

问题原因

你在包裹h1标题和form表单的列容器上添加了d-flex类,Bootstrap中d-flex默认的弹性布局方向为横向排列,因此容器下的两个直接子元素(h1所在div、form所在div)会自动并排展示,出现类似分栏的效果。
另外你的列类存在重复定义:同一个div上同时写了col-sm和col-sm-8,会触发Bootstrap栅格样式冲突,建议删掉冗余的col-sm类。

修复方法

二选一即可:

  • 方案1:保留flex布局,在加了d-flex的容器上追加flex-column类,将弹性布局的排列方向改为纵向,子元素就会按上下顺序排布。
  • 方案2:如果不需要flex做特殊布局,直接删掉容器上的d-flex justify-content-center类,块级元素默认就是纵向排列,给容器加text-center类同样可以实现内容居中的效果。
修复后参考代码(采用方案1)
<div class="container">
      <div class="row">

        <div class="col-sm">
        </div>
        <!-- 移除重复的col-sm类,追加flex-column修改排列方向 -->
        <div class="col-sm-8 d-flex flex-column justify-content-center mt-5">
          <div><h1>Text &#128075;</h1></div>

          <div>
            <form>
              <div class="form-group">
                <label for="exampleInputEmail1">Email address</label>
                <input type="email" class="form-control" id="exampleInputEmail1" aria-describedby="emailHelp" placeholder="Enter email" />
                <small id="emailHelp" class="form-text text-muted">We'll never share your email with anyone else.</small>
              </div>
              <button type="submit" class="btn btn-primary">Submit</button>
            </form>
          </div>

        </div>

        <div class="col-sm">
        </div>

      </div>
    </div>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 05:21:38