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

Bootstrap中设置所有卡片宽度一致的方法(表格导致超宽)

解决卡片宽度不一致的问题

核心原因

带表格的卡片被内部表格内容撑宽,打破了原本的布局约束,导致和其他卡片宽度不一致。以下是具体修复步骤:


步骤1:修正网格布局的错误 关键前提

你当前用了col-md-15,但Bootstrap的网格系统默认是12列,col-md-15属于无效类,会导致列宽度计算异常。先把所有col-md-15改成col-md-12,确保所有卡片所在的列宽度统一。

步骤2:让表格自适应容器,不撑爆卡片

给表格外面套一个Bootstrap自带的table-responsive容器,这样表格在小屏幕上会自动出现横向滚动条,不会撑大卡片。同时给所有卡片添加width: 100%;的样式约束,确保宽度一致。

修改后的完整代码示例

<main role="main" class="container">
<div class="container">
  <div class="main-body">

          <div class="row gutters-sm">
            <div class="col-md-12"> <!-- 修正为col-md-12 -->
              <div class="card mb-3" style="width: 100%;"> <!-- 添加宽度约束 -->
                <div class="card-body">
                <!-- stuff here--> 
                </div>
              </div>
            </div>
          </div>

          <div class="row gutters-sm">
            <div class="col-md-12"> <!-- 修正为col-md-12 -->
              <div class="card mb-3" style="width: 100%;"> <!-- 添加宽度约束 -->
                <div class="card-body">                  
                <!-- stuff here-->                   
                </div> <!--end of card-->
              </div>
            </div>
          </div>
          <div class="row gutters-sm">
            <div class="col-md-12"> <!-- 修正为col-md-12 -->
              <div class="card mb-3" style="width: 100%;"> <!-- 添加宽度约束 -->
                <div class="card-body">
                <!-- 用table-responsive包裹表格 -->
                <div class="table-responsive">
               <table class="table mb-0 table-hover">
                 <thead class="bg-primary">
                   <tr>
                     <th scope="col">SSSSSS</th>
                     <th scope="col">DDDDDD</th>
                     <th scope="col">FFFFFF</th>
                     <th scope="col">TTTTTT</th>
                     <th scope="col">GGGGGGGGG</th>
                     
                     <th scope="col">AAAAAA</th>
                     
                   </tr>
                 </thead>
                 <tbody>
                  
                   <tr>
                   <td class="mb-0"><div class="col-md-1 text-secondary">String 1 </div></td>
                   <td class="mb-0"><div class="col-md-1 text-secondary">String 2 </div></td>
                   <td class="mb-0"><div class="col-md-1 text-secondary">String 3</div></td>
                   <td class="mb-0"><div class="col-md-1 text-secondary">String 4</div></td>
                   <td class="mb-0"><div class="col-md-1 text-secondary">TTTT    </div></td>
                   
                   <td class="mb-0">
                                   <div class="col-sm-12">
                                   <a class="btn btn-secondary " name="education" href="/edit/2">Edit</a>
                                   <a class="btn btn-danger    " name="education" href="/delete/2">Delete</a>
                                   </div>
                   </td>
                   
                   </tr>
                 </tbody>
               </table>
                </div> <!-- 结束table-responsive -->
                <!-- stuff here-->                                     
                </div> <!--end of card body-->
              </div>
            </div>
          </div>

  </div>
</div>
</main>

额外优化(可选)

如果不想出现横向滚动条,可以给表格单元格添加自动换行样式:

.table td, .table th {
  white-space: normal;
  word-wrap: break-word;
}

这样超长内容会自动换行,表格不会撑宽卡片。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 04:00:52