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

Bootstrap5移动端模式下无法实现带关闭按钮的全宽导航菜单问题

问题排查与修正方案

你代码的核心错误是使用了Bootstrap 4的触发属性,不兼容你引入的Bootstrap 5版本,具体修改点如下:

  • 将导航触发按钮的data-toggle替换为data-bs-toggle,data-target替换为data-bs-target,这是Bootstrap 5对自定义数据属性的统一调整规则,旧属性无法触发折叠逻辑
  • 若要实现展开后全宽效果,可给.navbar-collapse添加w-100类,配合自定义样式限制展开后的高度与边距
  • 参考效果中的关闭按钮为额外添加的元素,你可在折叠菜单的头部新增一个关闭按钮,绑定对应属性实现点击收起功能

修正后的完整代码如下:

<nav class="navbar navbar-expand-lg navbar-light">
    <div class="container">
        <a class="navbar-brand" href="#"><img src="images/GEPL-Capital-Logo.webp"></a>
        <!-- 修改触发按钮的data属性为Bootstrap 5规范 -->
        <button class="navbar-toggler" style="margin-right:5px !important;" type="button" data-bs-toggle="collapse" data-bs-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
            <span class="navbar-toggler-icon"></span>
        </button>
        <div class="collapse navbar-collapse top_nav w-100" id="navbarSupportedContent">
            <!-- 新增移动端专属关闭按钮 -->
            <button class="btn-close d-lg-none ms-auto mb-3" type="button" data-bs-toggle="collapse" data-bs-target="#navbarSupportedContent" aria-label="Close"></button>
            <ul class="navbar-nav mx-auto ">
                <li class="nav-item">
                    <a href="#" class="nav-link">Home</a>
                    <hr class="hr_nav">
                </li>
                <li class="nav-item "><a href="#" class="nav-link">About Us</a>
                </li>
                <li class="nav-item "><a href="#" class="nav-link">Support</a>
                </li>
                <li class="nav-item "><a href="#" class="nav-link">Contact Us</a>
                </li>
            </ul>
            <ul class="navbar navbar-nav navbar-right" style="display:flex;">
                <li>
                    <button class="btn top_login">
                    Login
                </button>
                </li>
                <li>
                    <button class="btn sign_btn">
                    SignUp
                </button>
                </li>
            </ul>
        </div>
    </div>
</nav>

修改后即可实现移动端点击汉堡按钮展开全宽菜单、点击关闭按钮收起的效果。

内容的提问来源于stack exchange,提问作者Mr.M

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 21:18:02