【问题标题】:navbar doesn't expand on mobile with bootstrap5导航栏无法使用 bootstrap5 在移动设备上扩展
【发布时间】:2021-05-24 08:38:20
【问题描述】:

我正在使用 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>

按钮图片

【问题讨论】:

  • 看起来不错,你在脚本引导 js 文件中添加了 popper.js 吗?或分享 plunker。
  • 是的:

标签: html css twitter-bootstrap navbar bootstrap-5


【解决方案1】:

Bootstrap 5 已将数据属性名称命名为 data-bs-*
更改以下内容:

data-target="#navbarSupportedContent"

到这里:

data-bs-target="#navbarSupportedContent"

【讨论】:

  • 还有data-toggle -> data-bs-toggle。真是一堆废话。
【解决方案2】:

在折叠导航栏的按钮中,主要属性标签不存在。使用的主要属性是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>

希望我的回答对你有帮助

【讨论】:

    【解决方案3】:

    我已经设法用我的外部 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】:

      有我的通用解决方案:

      $(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");
        }
      });
      

      【讨论】:

      • 欢迎来到 Stack Overflow!虽然这段代码可以解决问题,including an explanation 解决问题的方式和原因确实有助于提高帖子的质量,并可能导致更多的赞成票。请记住,您正在为将来的读者回答问题,而不仅仅是现在提问的人。请edit您的回答添加解释并说明适用的限制和假设。
      【解决方案5】:

      要使导航栏正常工作,您需要包含一些 javascript(即使您不会使用它)。 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>

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-08-20
        • 2019-01-22
        • 2015-04-30
        • 1970-01-01
        • 1970-01-01
        • 2016-07-10
        • 1970-01-01
        • 2018-04-10
        相关资源
        最近更新 更多