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

为元素设置Bootstrap多断点栅格类后响应式适配失效如何解决

问题原因

1. 缺失响应式必备的viewport元标签

这是最核心的问题:Bootstrap的响应式规则依赖移动设备真实的视口宽度判断,你没有在<head>中声明viewport元标签的情况下,移动设备会默认使用980px左右的虚拟布局视口渲染页面,不会匹配设备实际宽度,直接导致栅格断点失效。

2. 栅格断点和预期不匹配

你使用的col-sm-6对应Bootstrap的sm断点(宽度≥576px的设备),而Moto G4的实际设备宽度为360px,低于sm断点阈值,此时默认会应用Bootstrap栅格的最小宽度规则col-12,也就是每个盒子占满整行,最终呈现4行单列的效果。
另外你注释了Bootstrap的JS引入,栅格布局仅依赖CSS即可生效,所以这个操作不影响布局效果,不需要调整。

修复方案

  1. 在<head>标签内、CSS引入前添加viewport元标签:
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
  1. 如果你需要在所有尺寸的设备上(包括360px这类超小屏)都实现小于md断点时一行2列的效果,把栅格类从col-sm-6 col-md-3修改为col-6 col-md-3即可,col-是Bootstrap无断点前缀,对所有宽度的设备生效。

修复后完整代码示例

<!DOCTYPE html>
<html>
<head>
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
    <title>Bootstrap Layout</title>
    <link rel="stylesheet" type="text/css" href="./bootstrap/css/bootstrap.min.css">
    <!-- <script type="text/javascript" src="./bootstrap/js/bootstrap.min.js"></script> -->
</head>
<body>
    <div class="container">
        <div class="row">
            <div class="col-6 col-md-3" style="background-color: aqua;">1</div>
            <div class="col-6 col-md-3" style="background-color: antiquewhite;">2</div>
            <div class="col-6 col-md-3" style="background-color: burlywood;">3</div>
            <div class="col-6 col-md-3" style="background-color: forestgreen;">4</div>
        </div>  
    </div>
</body>
</html>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 05:36:02