Bootstrap 4 导航栏切换器未显示
Posted
技术标签:
【中文标题】Bootstrap 4 导航栏切换器未显示【英文标题】:Bootstrap 4 navbar toggler not showing 【发布时间】:2018-02-16 10:12:28 【问题描述】:这是我第一次尝试使用 Bootstrap 4 beta。我现在在 BS3 中创建并运行了一个慈善团体网站。我正在使用固定顶部导航栏和自定义 CSS。当站点被查看得更小而不是全屏时,切换图标不会出现。你能帮助我吗?我希望它像导航链接一样是白色的,并且悬停将链接更改为阅读。 这是标题链接
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta/css/bootstrap.min.css" integrity="sha384-/Y6pD6FV/Vv2HJnA6t+vslU6fwYXjCFtcEpHbNJ0lyAFsXTsjBbfaDjzALeQsN6M" crossorigin="anonymous">
<!-- Custom styles for this template -->
<link href="css/custombs4.css" rel="stylesheet"> `
js代码链接在页面底部
<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.11.0/umd/popper.min.js" integrity="sha384-b/U6ypiBEHpOf/4+1nzFpr53nxSS+GLCkfwBdFNTxtclqqenISfwAzpKaMNFNmj4" crossorigin="anonymous"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta/js/bootstrap.min.js" integrity="sha384-h0AbiXch4ZDo7tp9hKZ4TsHbi047NrKGLO3SEJAg45jXxnGIfYzk4Si90RDIqNm1" crossorigin="anonymous"></script>
这是我的代码。
/* Navbar */
.navbar-custom
background-color: #3193de;
/* change the brand and text color */
.navbar-custom .navbar-brand,
.navbar-custom .navbar-text
text-decoration: none; color: #fff;
/* change the link color */
.navbar-custom .navbar-nav .nav-link
text-decoration: none; color: #fff;
/* change the color of active or hovered links */
.navbar-custom .nav-item.active .nav-link,
.navbar-custom
text-decoration: none; color: #fff;
.nav-item .nav-link:hover
text-decoration: none; color: #ff0000;
/* for dropdown only - change the color of dropdown */
.navbar-custom .dropdown-menu
background-color: #3193de;
.navbar-custom .dropdown-item
text-decoration: none; color: #fff;
.navbar-custom .dropdown-item:hover,
.navbar-custom .dropdown-item:focus
text-decoration: none; color: #ff0000;
background-color:#3193de;
.navbar-header .navbar-toggler
border: 0;
.navbar-toggler-icon
color: #fff;
.navbar-toggler-icon:hover
background: #ff0000;
<nav class="navbar navbar-custom navbar-expand-md">
<a class="navbar-brand" href="#">AHEPA 215</a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbar-custom" aria-controls="navbar-custom" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarCollapse">
<ul class="navbar-nav mx-auto">
<li class="nav-item">
<a class="nav-link" href="#">Home <span class="sr-only">(current)</span></a>
</li>
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" data-toggle="dropdown" href="#" role="button" aria-haspopup="true" aria-expanded="false">About</a>
<div class="dropdown-menu dropdown-menu-right">
<a class="dropdown-item" href="#">AHEPA</a>
<a class="dropdown-item" href="#">Chapter 215 Brothers</a>
</li>
<li class="nav-item">
<a class="nav-link" href="scholarship.html">Scholarships</a>
</li>
<li class="nav-item">
<a class="nav-link" href="photos.html">Photos</a>
</li>
<li class="nav-item">
<a class="nav-link" href="join.html">Join</a>
</li>
<li class="nav-item">
<a class="nav-link" href="calendar.html">Calendar</a>
</li>
<li class="nav-item">
<a class="nav-link" href="contact.html">Contact</a>
</li>
</ul>
<ul class="navbar-nav">
<li class="nav-item">
<a class="nav-link" href="https://www.facebook.com/portsmouth.ahepa" target="_blank"><i class="fa fa-facebook"></i></a>
</li>
<li class="nav-item">
<a class="nav-link" href="mailto:ahepa215@gmail.com"><i class="fa fa-envelope"></i></a>
</li>
</ul>
</div>
</nav>
该页面在此处直播http://ahepa215.org/navbar-top-fixed.html
【问题讨论】:
Bootstrap 4 Change Hamburger Toggler Color, and this的可能重复 不,我没有使用 BS svg。我先读了那篇文章,但没有任何帮助.navbar-toggler-icon
是 BS svg。正如其他答案中所解释的那样,您需要navbar-dark
或navbar-light
才能使图标出现:codeply.com/go/dmGeKxPBek .. 切换器上的data-target
也有误
【参考方案1】:
@mlegg,由于id
属性与button
上的data-toggler
属性值不同,您的切换器图标没有切换。下面的代码显示了它应该是什么。
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarCollapse" aria-controls="navbarCollapse" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarCollapse">
至于切换图标的样式,可以使用以下代码:
.navbar-toggler-icon
background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255,255,255, 1)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E");
要彻底了解这里发生的事情,请查看@ZimSystem 在此stack overflow question 中的回答。最终,您必须在background-image
的 URL 中设置 stroke 属性的值,如下所示:
stroke='rgba(255,255,255, 1)'
查看此codeply project
【讨论】:
您应该更新答案以解释解决方案是将 SVG 背景图像添加到自定义 CSS以上是关于Bootstrap 4 导航栏切换器未显示的主要内容,如果未能解决你的问题,请参考以下文章