我正在用 bootstrap 5 创建一个网站,但我的导航栏不起作用。 当我使用移动设备时,它不会扩展。 我正在学习,这就是为什么我不着急。我只是想了解我在做什么,所以我不会重复同样的错误。 我已经在另一个设计中使用了导航栏,但我不想重做。有人可以帮助我了解我在做什么吗?
@import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');
/*
#FF3633 - Vermelho
*/
*{
margin: 0;
padding: 0;
box-sizing: border-box;
font-family: 'Poppins', sans-serif;
}
/* estilo - header */
.navbar {
background-color: #131313;
padding: 1rem 8rem;
z-index: 1000;
}
.navbar .navbar-brand {
font-size: 1.4rem;
font-weight: 800;
}
#navbarSupportedContent > ul > li:nth-child(n) > a {
color: #fff;
font-size: 1.1rem;
padding: 0 0.8rem;
}
#navbarSupportedContent > ul > li:nth-child(n) > a:hover {
color: #FF3633;
}
#navbarSupportedContent button {
background-color: #FF3633;
font-weight: 600;
padding: 0.4rem 1.4rem;
border-radius: 30px;
outline: none;
}
#navbarSupportedContent button:hover {
background-color: #CC3036;
}
<header>
<nav class="navbar navbar-expand-lg navbar-dark fixed-top">
<div class="container-fluid">
<a class="navbar-brand" href="#">
<img src="img/logo-wt.png" width="100" height="30" alt="">
</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarSupportedContent">
<ul class="navbar-nav mx-auto mb-2 mb-lg-0">
<li class="nav-item">
<a class="nav-link" href="#">Quem Somos</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Serviços</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Serviços</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Contato</a>
</li>
</ul>
<button class="btn text-light" type="submit">Contato</button>
</div>
</div>
</nav>
<div class="mid">
<video autoplay muted loop>
<source class="embed-responsive" src="darkvd.mp4" type="video/mp4">
</video>
<div class="hero text-center">
<h2 class="text-light display-3 fw-bold m-lg-3 mx-3">Suporte Linux e Cloud</h2>
<p class="text-light mx-auto">Criando um paralelo entre baixo custo, disponibilidade, praticidade e satisfação</p>
<a class="text-light fw-bold m-lg-3 mx-3 " href="#"> SAIBA MAIS </a>
</div>
</div>
<header>
<nav class="navbar navbar-expand-lg navbar-dark fixed-top">
<div class="container-fluid">
<a class="navbar-brand" href="#">
<img src="img/logo-wt.png" width="100" height="30" alt="">
</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarSupportedContent">
<ul class="navbar-nav mx-auto mb-2 mb-lg-0">
<li class="nav-item">
<a class="nav-link" href="#">Quem Somos</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Serviços</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Serviços</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Contato</a>
</li>
</ul>
<button class="btn text-light" type="submit">Contato</button>
</div>
</div>
</nav>
<div class="mid">
<video autoplay muted loop>
<source class="embed-responsive" src="darkvd.mp4" type="video/mp4">
</video>
<div class="hero text-center">
<h2 class="text-light display-3 fw-bold m-lg-3 mx-3">Suporte Linux e Cloud</h2>
<p class="text-light mx-auto">Criando um paralelo entre baixo custo, disponibilidade, praticidade e satisfação</p>
<a class="text-light fw-bold m-lg-3 mx-3 " href="#"> SAIBA MAIS </a>
</div>
</div>
按钮图片
答案 0 :(得分:2)
Bootstrap 5 使用 data-bs-*
为数据属性名称命名。
更改以下内容:
data-target="#navbarSupportedContent"
为此:
data-bs-target="#navbarSupportedContent"
答案 1 :(得分:1)
在折叠导航栏的按钮中,主要属性标签不存在。使用的主要属性是 data-toggle="collapse" data-target=".nav-collapse"
。第二个变化是查看您是否添加了这些链接或添加了来自 https://getbootstrap.com/docs/5.0/getting-started/introduction/
<script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.6.0/dist/umd/popper.min.js" integrity="sha384-KsvD1yqQ1/1+IA7gi3P0tyJcT3vR+NdBTt13hSJ2lnve8agRGXTTyNaBYmCR/Nwi" crossorigin="anonymous"></script>
希望我的回答对你有帮助
答案 2 :(得分:0)
要使导航栏工作,您需要包含一些 java(即使您不会使用它)。 bootstrap -> get started -> JS 中提供的链接实际上不起作用。
因此,为了让您快速轻松地在此处添加标题。
<head>
<meta charset="utf-8">
<title>TinDog</title>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-eOJMYsd53ii+scO/bJGFsiCZc+5NDVN2yr8+0RDqr0Ql0h+rP48ckxlpbzKgwra6" crossorigin="anonymous">
<link rel="stylesheet" href="css/styles.css">
<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.12.9/umd/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script>
</head>
答案 3 :(得分:0)
我已经设法用外部 js 文件中的 js 代码解决了这个问题,在关闭 body 标签之前,我已经将这些代码包含在页面上。
以下是我曾经使用并设法解决问题的js代码:
$(document).ready(function(){
//--Navbar_Toggle_icon--//
NavItemsStatus = '';
$('.navbar-toggler-icon').mousedown(function(){
//---Check if the NavItems are opened, if so then close them, otherwise open them--//
if((NavItemsStatus == "")|| (NavItemsStatus == undefined)){
NavItemsStatus = 'on';
//--Do nothing here as the nav items are sliding down after clicked for the first time--//
}else if((NavItemsStatus == "off")){
NavItemsStatus = 'on';
$("#navbarNavAltMarkup").show(600); //the id which was called on data-bs-target
}else{
NavItemsStatus = 'off';
$("#navbarNavAltMarkup").hide();
$("#navbarNavAltMarkup").css('height','0px');
}
})
});
因此,对于您的情况,要使用的 ID 是 #navbarSupportedContent
。
答案 4 :(得分:-1)
这是我的通用工作解决方案:
$(document).ready(function(){
$('a[data-bs-toggle="collapse"]').mouseup(function(){
var expanded = $(this).attr('aria-expanded');
if(expanded=="true"){
setTimeout(() => {
hide_collapse(this);
}, 100);
}
})
function hide_collapse(element){
var aria_control = $(element).attr('aria-controls');
$("#"+aria_control).removeClass("show");
$(element).attr('aria-expanded',"false");
}
});