Bootstrap 4导航栏切换器未显示

9
这是我的第一次尝试使用Bootstrap 4 beta。我现在有一个慈善组织的网站,它在BS3中正常运行。我正在使用固定顶部导航栏和自定义CSS。当网站被缩小显示时(不是全屏),切换图标不会出现。你能帮我吗?我想让它像导航链接一样是白色的,并且鼠标悬浮时更改链接颜色为可读状态。以下是head链接。
<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"> `

JavaScript代码链接在页面底部。
<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

1
可能是Bootstrap 4更改汉堡菜单切换器颜色的重复问题,以及这个 - Carol Skelly
不,我没有使用BS svg。我先阅读了相关内容,但是那里面没有任何帮助我解决问题的信息。 - mlegg
3
“.navbar-toggler-icon” 是Bootstrap图标的SVG格式。正如其他答案中所解释的那样,您需要使用“navbar-dark”或“navbar-light”才能使该图标显示:http://codeply.com/go/dmGeKxPBek。您还在切换器上设置了错误的“data-target”。 - Carol Skelly
1个回答

23

@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在此堆栈溢出问题中的回答。最终,您必须在background-image的URL中设置stroke属性的值,如下所示:

stroke='rgba(255,255,255, 1)'

看看这个codeply项目


1
你应该更新答案,解释解决方案是将SVG背景图像添加到自定义CSS中。 - Carol Skelly

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接