【问题标题】:can't see my drop down button on collapse折叠时看不到我的下拉按钮
【发布时间】:2020-12-30 18:57:35
【问题描述】:
我是学习引导程序的新手,我正在努力使我的网站成为一个响应式导航栏。当我折叠页面时,我看不到典型的下拉汉堡图标,但我仍然可以单击页面中间的一个不可见的下拉按钮。任何有关如何更改导航下拉图标颜色的指导将不胜感激!
<link href="https://cdn.jsdelivr.net/npm/bootstrap@4.5.3/dist/css/bootstrap.min.css" rel="stylesheet"/>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.5.3/dist/js/bootstrap.bundle.min.js"></script>
<nav class="navbar navbar-custom navbar-static-top" role="navigation">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse"
data-target="#bs-example-navbar-collapse-1">
<!-- <span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span> -->
</button>
</div>
<div class="nav collapse navbar-collapse" id="bs-example-navbar-collapse-1">
<ul class="nav navbar-nav">
<li><a href="index.php">Home</a></li>
<li><a href="#mailing">Mailing List</a></li>
<li><a href="#pricing">Shop</a></li>
<li><a href="#tour">Tour</a></li>
</ul>
</div>
</div>
</nav>
【问题讨论】:
标签:
twitter-bootstrap
nav
【解决方案1】:
- 类名应为 navbar-toggler,而不是 navbar-toggle。
- 在按钮中插入
<span class="navbar-toggler-icon"></span>。
- 在您的导航栏中添加 navbar- 颜色和 bg- 颜色。
代码如下-
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.5.3/dist/css/bootstrap.min.css" integrity="sha384-TX8t27EcRE3e/ihU7zmQxVncDAy5uIKz4rEkgIXeMed4M0jlfIDPvg6uqKI2xXr2" crossorigin="anonymous">
<style>
</style>
</head>
<body>
<nav class="navbar navbar-custom navbar-static-top navbar-light bg-light" role="navigation">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggler collapsed" data-toggle="collapse"
data-target="#bs-example-navbar-collapse-1">
<span class="navbar-toggler-icon"></span>
<!-- <span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span> -->
</button>
</div>
<div class="nav collapse navbar-collapse" id="bs-example-navbar-collapse-1">
<ul class="nav navbar-nav">
<li><a href="index.php">Home</a></li>
<li><a href="#mailing">Mailing List</a></li>
<li><a href="#pricing">Shop</a></li>
<li><a href="#tour">Tour</a></li>
</ul>
</div>
</div>
</nav>
<script src="https://code.jquery.com/jquery-3.5.1.slim.min.js" integrity="sha384-DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew+OrCXaRkfj" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.5.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-ho+j7jyWK8fNQe+A12Hb8AhRq26LrZ/JpcUGGOn+Y7RsweNrtN/tE3MoK7ZeZDyx" crossorigin="anonymous"></script>
</body>
</html>
【解决方案2】:
Bootstrap 4 中的navbar-toggler-icon(汉堡包)使用SVG background-image。
执行以下操作:
将navbar-toggle 更改为navbar-toggler
将data-target="##bs-example-navbar-collapse-1" 更改为data-target="#navbarNav"
在按钮标签之间使用<span class="navbar-toggler-icon"></span>
将<div class="nav collapse navbar-collapse" id="bs-example-navbar-collapse-1"> 更改为
<div class="collapse navbar-collapse" id="navbarNav">
看到这个:
https://jsfiddle.net/30s62mfb/3/
<nav class="navbar navbar-light bg-light" role="navigation">
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNav" aria-controls="navbarNavAltMarkup" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarNav">
<ul class="nav navbar-nav">
<li><a href="index.php">Home</a></li>
<li><a href="#mailing">Mailing List</a></li>
<li><a href="#pricing">Shop</a></li>
<li><a href="#tour">Tour</a></li>
</ul>
</div>
</nav>