在移动屏幕上单击 hamburger/bars 菜单时看不到导航栏选项
cannot see navbar options when clicking on hamburger/bars menu on mobile screen
对于 html 中的以下代码(显示导航栏),当我将页面宽度减小到足以使 hamburger/bars 图标出现而不是导航栏中的正常选项时,我当我单击 hamburger/bars 图标(右上角)时看不到原始选项并且没有任何反应 - 有谁知道我如何解决这个问题以便我可以看到选项?
<!DOCTYPE html>
<html>
<head>
<title></title>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta1/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-giJF6kkoqNQ00vy+HMDP7azOuL0xtbfIcaT9wjKHr8RbDVddVHyTfAAsrekwKmP1" crossorigin="anonymous">
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">
<link href="https://fonts.googleapis.com/css?family=Nunito&display=swap" rel="stylesheet">
<style>
* {
margin: 0px;
padding: 0px;
font-family: 'Nunito', sans-serif;
}
.menu-bar {
background-image: linear-gradient(-90deg, #d38312, #a83279)
}
.nav-link {
font-size: 16px;
margin: 3px;
color: #fff!important;
font-weight: 500;
}
.navbar-nav {
text-align: right;
margin-right: 20px;
}
.menu-bar .navbar-toggler {
padding-right: 20px;
outline: none!important;
border: none!important;
}
.navbar .fa {
color: #fff!important;
font-size: 26px;
}
.nav-link:hover {
font-weight: 600;
border-bottom: 1px solid #fff;
}
.navbar-brand img {
width: 150px;
margin-top: 5px;
margin-left: 20px;
}
@media only screen and (max-width: 1000px) {
.nav-link:hover {
border-bottom: none!important;
}
}
</style>
</head>
<body>
<div class="header">
<div class="menu-bar">
<nav class="navbar navbar-expand-lg navbar-light">
<a class="navbar-brand" href="#">Navbar</a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
<i class="fa fa-bars"></i>
</button>
<div class="collapse navbar-collapse" id="navbarNav">
<ul class="navbar-nav ml-auto">
<li class="nav-item">
<a class="nav-link" href="#">Home</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Services</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Offers</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Help</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Contact</a>
</li>
</ul>
</div>
</nav>
</div>
</div>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta1/dist/js/bootstrap.bundle.min.js" integrity="sha384-ygbV9kiqUc6oa4msXn9868pTtWMgiQaeYH7/t7LECLbyPA2x65Kgf80OJFdroafW" crossorigin="anonymous"></script>
</body>
</html>
因为您使用的 Bootstrap-5 仍然是 beta 版本。使用此 link 中的 Bootstrap-4 -
https://getbootstrap.com/docs/4.5/getting-started/introduction/
这是工作代码-
<!DOCTYPE html>
<html>
<head>
<title></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">
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">
<link href="https://fonts.googleapis.com/css?family=Nunito&display=swap" rel="stylesheet">
<style>
* {
margin: 0px;
padding: 0px;
font-family: 'Nunito', sans-serif;
}
.menu-bar {
background-image: linear-gradient(-90deg, #d38312, #a83279)
}
.nav-link {
font-size: 16px;
margin: 3px;
color: #fff!important;
font-weight: 500;
}
.navbar-nav {
text-align: right;
margin-right: 20px;
}
.menu-bar .navbar-toggler {
padding-right: 20px;
outline: none!important;
border: none!important;
}
.navbar .fa {
color: #fff!important;
font-size: 26px;
}
.nav-link:hover {
font-weight: 600;
border-bottom: 1px solid #fff;
}
.navbar-brand img {
width: 150px;
margin-top: 5px;
margin-left: 20px;
}
@media only screen and (max-width: 1000px) {
.nav-link:hover {
border-bottom: none!important;
}
}
</style>
</head>
<body>
<div class="header">
<div class="menu-bar">
<nav class="navbar navbar-expand-lg navbar-light">
<a class="navbar-brand" href="#">Navbar</a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
<i class="fa fa-bars"></i>
</button>
<div class="collapse navbar-collapse" id="navbarNav">
<ul class="navbar-nav ml-auto">
<li class="nav-item">
<a class="nav-link" href="#">Home</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Services</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Offers</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Help</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Contact</a>
</li>
</ul>
</div>
</nav>
</div>
</div>
<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>
data-* 属性已在 Bootstrap 5 中替换为 data-bs-*。
所以对于 Bootstrap 5,代码将是这样的-
<button class="navbar-toggler" data-bs-toggle="collapse" data-bs-target="#navbar">
<span class="navbar-toggler-icon"></span>
对于 html 中的以下代码(显示导航栏),当我将页面宽度减小到足以使 hamburger/bars 图标出现而不是导航栏中的正常选项时,我当我单击 hamburger/bars 图标(右上角)时看不到原始选项并且没有任何反应 - 有谁知道我如何解决这个问题以便我可以看到选项?
<!DOCTYPE html>
<html>
<head>
<title></title>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta1/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-giJF6kkoqNQ00vy+HMDP7azOuL0xtbfIcaT9wjKHr8RbDVddVHyTfAAsrekwKmP1" crossorigin="anonymous">
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">
<link href="https://fonts.googleapis.com/css?family=Nunito&display=swap" rel="stylesheet">
<style>
* {
margin: 0px;
padding: 0px;
font-family: 'Nunito', sans-serif;
}
.menu-bar {
background-image: linear-gradient(-90deg, #d38312, #a83279)
}
.nav-link {
font-size: 16px;
margin: 3px;
color: #fff!important;
font-weight: 500;
}
.navbar-nav {
text-align: right;
margin-right: 20px;
}
.menu-bar .navbar-toggler {
padding-right: 20px;
outline: none!important;
border: none!important;
}
.navbar .fa {
color: #fff!important;
font-size: 26px;
}
.nav-link:hover {
font-weight: 600;
border-bottom: 1px solid #fff;
}
.navbar-brand img {
width: 150px;
margin-top: 5px;
margin-left: 20px;
}
@media only screen and (max-width: 1000px) {
.nav-link:hover {
border-bottom: none!important;
}
}
</style>
</head>
<body>
<div class="header">
<div class="menu-bar">
<nav class="navbar navbar-expand-lg navbar-light">
<a class="navbar-brand" href="#">Navbar</a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
<i class="fa fa-bars"></i>
</button>
<div class="collapse navbar-collapse" id="navbarNav">
<ul class="navbar-nav ml-auto">
<li class="nav-item">
<a class="nav-link" href="#">Home</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Services</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Offers</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Help</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Contact</a>
</li>
</ul>
</div>
</nav>
</div>
</div>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta1/dist/js/bootstrap.bundle.min.js" integrity="sha384-ygbV9kiqUc6oa4msXn9868pTtWMgiQaeYH7/t7LECLbyPA2x65Kgf80OJFdroafW" crossorigin="anonymous"></script>
</body>
</html>
因为您使用的 Bootstrap-5 仍然是 beta 版本。使用此 link 中的 Bootstrap-4 - https://getbootstrap.com/docs/4.5/getting-started/introduction/
这是工作代码-
<!DOCTYPE html>
<html>
<head>
<title></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">
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">
<link href="https://fonts.googleapis.com/css?family=Nunito&display=swap" rel="stylesheet">
<style>
* {
margin: 0px;
padding: 0px;
font-family: 'Nunito', sans-serif;
}
.menu-bar {
background-image: linear-gradient(-90deg, #d38312, #a83279)
}
.nav-link {
font-size: 16px;
margin: 3px;
color: #fff!important;
font-weight: 500;
}
.navbar-nav {
text-align: right;
margin-right: 20px;
}
.menu-bar .navbar-toggler {
padding-right: 20px;
outline: none!important;
border: none!important;
}
.navbar .fa {
color: #fff!important;
font-size: 26px;
}
.nav-link:hover {
font-weight: 600;
border-bottom: 1px solid #fff;
}
.navbar-brand img {
width: 150px;
margin-top: 5px;
margin-left: 20px;
}
@media only screen and (max-width: 1000px) {
.nav-link:hover {
border-bottom: none!important;
}
}
</style>
</head>
<body>
<div class="header">
<div class="menu-bar">
<nav class="navbar navbar-expand-lg navbar-light">
<a class="navbar-brand" href="#">Navbar</a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
<i class="fa fa-bars"></i>
</button>
<div class="collapse navbar-collapse" id="navbarNav">
<ul class="navbar-nav ml-auto">
<li class="nav-item">
<a class="nav-link" href="#">Home</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Services</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Offers</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Help</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Contact</a>
</li>
</ul>
</div>
</nav>
</div>
</div>
<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>
data-* 属性已在 Bootstrap 5 中替换为 data-bs-*。 所以对于 Bootstrap 5,代码将是这样的-
<button class="navbar-toggler" data-bs-toggle="collapse" data-bs-target="#navbar">
<span class="navbar-toggler-icon"></span>