Bootstrap 5导航按钮菜单未点击即展开且无法折叠问题求助
问题解决:Bootstrap 5导航栏默认展开且无法折叠的修复
你的问题出在两个关键地方,直接导致导航栏无法正常折叠:
- 折叠容器(
.collapse.navbar-collapse)加了d-block类,这个类会强制元素一直显示,完全覆盖了Bootstrap collapse组件的动态隐藏/展开逻辑 <ul>标签重复定义了class属性,HTML规范中一个标签只能有一个class属性,重复定义会导致样式解析异常
以下是修正后的完整代码:
<nav id="header-nav" class="navbar navbar-expand-lg navbar-light"> <div class="container"> <a class="navbar-brand" href="index.html"> <h1>Food,LLC</h1></a> <button class="navbar-toggler" 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 d-sm-none" id="navbarSupportedContent"> <ul id="nav-list" class="nav navbar-nav navbar-right d-block d-sm-none"> <li class="li-Menu text-center d-sm-none">Chiken</li><hr class="d-sm-none"> <li class="li-Menu text-center d-sm-none">Beef</li><hr class="d-sm-none"> <li class="li-Menu text-center d-sm-none">Sushi</li> </ul> </div> </div> </nav>
关键修改说明:
- 移除折叠容器的
d-block类:保留d-sm-none来实现小屏幕显示、大屏幕隐藏的效果,让collapse组件能通过按钮控制折叠状态 - 合并
<ul>的class属性:将原来两个分开的class属性合并成一个,确保样式正常生效 - 按钮的
data-bs-toggle和data-bs-target属性原本就是正确的,不需要修改
内容的提问来源于stack exchange,提问作者Yesser Hmidi
相关产品推荐
相关产品推荐

