Bootstrap 5 内置Tab功能在Card组件内无法正常生效问题求助
问题原因
- Bootstrap 5 对交互属性做了命名空间更新,旧版本Bootstrap使用的
data-toggle属性已失效,需要替换为data-bs-toggle - 代码存在基础语法错误和类名缺失:
- 导航链接缺少
nav-link类导致样式异常 - 活跃状态的tab面板需要同时加
active和show类才能正常显示,旧版的in类已在Bootstrap 5中废弃 - Card内嵌Tab的代码中
id="dhcp"、id="static"漏写了末尾的双引号,<form>标签重复定义了class属性
- 导航链接缺少
正确实现方案
1. 基础Tab功能实现
<div class="container network_wrapper col-sm p-2 "> <h2>Dynamic Tabs</h2> <ul class="nav nav-tabs"> <li class="nav-item"> <a class="nav-link active" data-bs-toggle="tab" href="#home">Home</a> </li> <li class="nav-item"> <a class="nav-link" data-bs-toggle="tab" href="#menu1">Menu 1</a> </li> <li class="nav-item"> <a class="nav-link" data-bs-toggle="tab" href="#menu2">Menu 2</a> </li> <li class="nav-item"> <a class="nav-link" data-bs-toggle="tab" href="#menu3">Menu 3</a> </li> </ul> <div class="tab-content"> <div id="home" class="tab-pane fade show active"> <h3>HOME</h3> <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p> </div> <div id="menu1" class="tab-pane fade"> <h3>Menu 1</h3> <p>Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. </p> </div> <div id="menu2" class="tab-pane fade"> <h3>Menu 2</h3> <p>Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam.</p> </div> <div id="menu3" class="tab-pane fade"> <h3>Menu 3</h3> <p>Eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo.</p> </div> </div> </div>
2. Card内嵌Tab实现
<div class="container network_wrapper col-sm p-2 "> <div class="card"> <div class="card-header"> <h5 class="card-title">Network Settings</h5> <ul class="nav nav-tabs card-header-tabs"> <li class="nav-item"> <a class="nav-link active" aria-current="true" data-bs-toggle="tab" href="#dhcp">DHCP</a> </li> <li class="nav-item"> <a class="nav-link" data-bs-toggle="tab" href="#static">Static</a> </li> </ul> </div> <form class="card-body"> <div class="tab-content"> <div class="tab-pane fade show active" id="dhcp"> <p class="card-text">Change DHCP Network settings.</p> </div> <div class="tab-pane fade" id="static"> <p class="card-text">Change Static Network settings.</p> </div> </div> <button class="btn btn-primary mt-3" type="submit">Save</button> </form> </div> </div>
不需要额外自定义JS代码,保持你现有的Bootstrap 5 CSS和JS引入即可正常运行。
内容的提问来源于stack exchange,提问作者George Sloata
相关产品推荐
相关产品推荐

