Bootstrap Nav Bar下拉菜单点击、悬停均无法触发展开问题求助

问题根因
- 所用Bootstrap 5版本已将所有交互类自定义属性调整为
data-bs-*命名空间,原代码中仍使用Bootstrap 4的data-toggle、data-target属性,属性不匹配无法触发交互逻辑 - 仅引入Bootstrap CSS文件,未引入Bootstrap JS依赖,下拉菜单等交互组件的触发逻辑完全依赖对应JS代码实现
- 样式类不匹配:Bootstrap 5已将原右外边距类
mr-auto调整为me-auto
修正后可运行代码
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <link rel="stylesheet" href="./style.css"> <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta1/dist/css/bootstrap.min.css"> <!-- 引入Bootstrap 5 内置Popper的完整JS包 --> <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta1/dist/js/bootstrap.bundle.min.js"></script> <title>Document</title> </head> <body> <nav class="navbar navbar-expand-lg navbar-dark bg-dark"> <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarTogglerDemo01" aria-controls="navbarTogglerDemo01" aria-expanded="false" aria-label="Toggle navigation"> <span class="navbar-toggler-icon"></span> </button> <div class="collapse navbar-collapse" id="navbarTogglerDemo01"> <ul class="navbar-nav me-auto"> <li class="nav-item"> <a class="nav-link" activeClass="active">Home</a> </li> <li class="nav-item"> <a class="nav-link" activeClass="active">Link</a> </li> <li class="nav-item dropdown"> <a class="nav-link dropdown-toggle" activeClass="active" id="navbarDropdown" role="button" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> Dropdown </a> <div class="dropdown-menu" aria-labelledby="navbarDropdown"> <a class="dropdown-item" activeClass="active">Action</a> <a class="dropdown-item" activeClass="active">Another action</a> <div class="dropdown-divider"></div> <a class="dropdown-item" activeClass="active">Something else here</a> </div> </li> <li class="nav-item"> <a class="nav-link disabled" activeClass="active">Disabled</a> </li> </ul> </div> </nav> </body> </html>
内容的提问来源于stack exchange,提问作者Wayne
相关产品推荐
相关产品推荐

