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

Bootstrap网格未按预期工作:每行三列却垂直堆叠

Bootstrap网格列垂直堆叠问题的解决办法

嘿,我一眼就看出你代码里的问题啦——Bootstrap的网格系统有个严格的层级要求:列(.col-*)必须直接放在行(.row)里面,如果要嵌套列,父列里也得先加个新的.row才行,不然列就会因为没有正确的布局上下文,乖乖垂直堆叠起来。

先看看你原代码里的结构问题:

<footer> 
  <div class="container-fluid bg-gray p-a-1 c-darkblue m-t-2"> 
    <div class="row"> 
      <div class="col-md-9"> 
        <div class="col-md-12"> <!-- 错误:col-md-12的父元素是col-md-9,没有.row -->
          <div class="col-md-4"> <!-- 错误:col-md-4的父元素是col-md-12,也没有.row -->
            <div *ngFor="let item of helpData; let ndx=index"...

修正后的代码示例

我帮你调整了结构,保证每个列都有正确的.row父容器:

<footer> 
  <div class="container-fluid bg-gray p-a-1 c-darkblue m-t-2"> 
    <div class="row"> 
      <!-- 占9份的主列 -->
      <div class="col-md-9"> 
        <!-- 必须在这里加一个嵌套的.row,用来放内部的子列 -->
        <div class="row"> 
          <!-- 直接循环生成col-md-4,它们会自动水平排列 -->
          <div class="col-md-4" *ngFor="let item of helpData; let ndx=index">
            <!-- 这里放你的item内容 -->
          </div>
        </div>
      </div>
      <!-- 这里可以加剩下的3份列,比如col-md-3,按需添加 -->
    </div>
  </div>
</footer>

额外注意事项

  • 如果你希望在小屏幕(比如手机)上也保持三列水平排列,可以把col-md-4换成col-sm-4(Bootstrap 3)或者col-4(Bootstrap 4及以上)。
  • 检查一下你有没有正确引入Bootstrap的CSS文件,避免自定义样式覆盖了Bootstrap的网格布局(比如不小心给.col-*加了display:block或者float:none)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 12:27:03