【问题标题】:Bootstrap 4 Navbar won't toogle backBootstrap 4 Navbar 不会回滚
【发布时间】:2019-11-07 21:34:51
【问题描述】:

我正在为我的导航栏使用 bootstrap 4,我可以很好地向下移动汉堡包按钮,但我不能将它重新切换回菜单,它仍然处于折叠形式。那么我怎样才能将它切换回它的菜单呢?

我已经在每个导航项上尝试了 data="collapse" ,也许它会起作用,但它仍然处于折叠形式。

    .nav-fill .nav-item {
      -webkit-box-flex: initial;
      flex: initial;
      text-align: initial;
    }

    ul li a.nav-link {
      text-transform: uppercase;
      font-weight: bold;
      letter-spacing: 0.02em;
    }

    .navigation .bg-light{
      background-color: transparent !important;
    }
    <nav class="navbar navbar-expand-lg navbar-dark bg-dark ">
      <div class="container">
        <button class="navbar-toggler ml-auto" type="button" data-toggle="collapse" data-target="#navbar10">
                                <span class="navbar-toggler-icon"></span>
                            </button>
        <div class="collapse navbar-collapse" id="navbar10">
          <ul class="navbar-nav nav-fill w-100">
            <li class="nav-item">
              <a class="nav-link" href="#">Link</a>
            </li>
            <li class="nav-item">
              <a class="nav-link" href="">Codeply</a>
            </li>
            <li class="nav-item">
              <a class="nav-link" href="#">Link</a>
            </li>
            <li class="nav-item">
              <a class="nav-link" href="#">Link</a>
            </li>
            <li class="nav-item">
              <a class="nav-link" href="#">Link</a>
            </li>
          </ul>
        </div>
      </div>
    </nav>

fyi:我将导航栏放在标题下方(因为我需要这样做),可能是这样吗?

header{
  display: flex !important;
  flex-direction: column;
}

 /*** HEADER *****/

.logo-wrapper img {
  width: 100%;
  display: block;
}
.logo-wrapper {
  width: 100%;
  display: block;
  position: relative;
}

/* Navbar */
.nav-fill .nav-item {
  -webkit-box-flex: initial;
  flex: initial;
  text-align: initial;
}

header {
  background: url(../images/header_img.png) no-repeat top center transparent;
  padding: 0 0;
  background-attachment: inherit;
  background-size: cover;
}

.header-bottom {
  padding: 20px 0;
}

ul li a.nav-link {
  text-transform: uppercase;
  font-weight: bold;
  letter-spacing: 0.02em;
}

.navigation .bg-light{
  background-color: transparent !important;
}
<header>
          <div class="header-bottom">
            <div class="container">
              <div class="row">
                <div class="icon-call col-md-4 col-xs-12 d-none d-md-block ">
                    <a href="#"><img src = "images/icon-call.png">xoxoxox</a>                    
                </div>

                <div class="col-md-4 col-xs-12 col-sm-12">    
                  <div class="logo-wrapper">         
                    <a href=""><img src = "images/logo.png" ></a> 
                  </div>
                </div>

                <div class="icon-social col-md-4 col-xs-12 d-none d-md-block">
                  <div class="social-media text-right">
                    <a href="#"> <img src = "images/icon-fb.png" > </a>
                    <a href="#"> <img src = "images/icon-mail.png"> </a>
                    <a href="#"> <img src = "images/icon-insta.png"> </a>
                  </div>
                </div>
              </div>
            </div>
          </div>

          <div class="navigation">
                  <nav class="navbar navbar-expand-lg navbar-light bg-light">
                    <div class="container">
                        <button class="navbar-toggler ml-auto" type="button" data-toggle="collapse" data-target="#navbar10">
                            <span class="navbar-toggler-icon"></span>
                        </button>
                        <div class="collapse navbar-collapse text-center" id="navbar10">
                            <ul class="navbar-nav nav-fill w-100">
                                <li class="nav-item active">
                                    <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="#">Results</a>
                                </li>
                                <li class="nav-item">
                                    <a class="nav-link" href="#">References</a>
                                </li>
                                <li class="nav-item">
                                    <a class="nav-link" href="#">Contact</a>
                                </li>
                            </ul>
                        </div>
                    </div>
                </nav>
          </div>
    </header>

【问题讨论】:

  • 我在 jsfiddle 中尝试了你的 html,它对我有用。
  • 请看我的编辑,谢谢
  • 仍然对我有用。见fiddle

标签: css twitter-bootstrap navbar


【解决方案1】:

您的代码运行良好,但请尝试正确使用所有链接,如下所示

<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css">
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js"></script>
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js"></script>

header{
  display: flex !important;
  flex-direction: column;
}

 /*** HEADER *****/

.logo-wrapper img {
  width: 100%;
  display: block;
}
.logo-wrapper {
  width: 100%;
  display: block;
  position: relative;
}

/* Navbar */
.nav-fill .nav-item {
  -webkit-box-flex: initial;
  flex: initial;
  text-align: initial;
}

header {
  background: url(../images/header_img.png) no-repeat top center transparent;
  padding: 0 0;
  background-attachment: inherit;
  background-size: cover;
}

.header-bottom {
  padding: 20px 0;
}

ul li a.nav-link {
  text-transform: uppercase;
  font-weight: bold;
  letter-spacing: 0.02em;
}

.navigation .bg-light{
  background-color: transparent !important;
}
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css">
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js"></script>
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js"></script>
  
  <header>
          <div class="header-bottom">
            <div class="container">
              <div class="row">
                <div class="icon-call col-md-4 col-xs-12 d-none d-md-block ">
                    <a href="#"><img src = "images/icon-call.png">xoxoxox</a>                    
                </div>

                <div class="col-md-4 col-xs-12 col-sm-12">    
                  <div class="logo-wrapper">         
                    <a href=""><img src = "images/logo.png" ></a> 
                  </div>
                </div>

                <div class="icon-social col-md-4 col-xs-12 d-none d-md-block">
                  <div class="social-media text-right">
                    <a href="#"> <img src = "images/icon-fb.png" > </a>
                    <a href="#"> <img src = "images/icon-mail.png"> </a>
                    <a href="#"> <img src = "images/icon-insta.png"> </a>
                  </div>
                </div>
              </div>
            </div>
          </div>

          <div class="navigation">
                  <nav class="navbar navbar-expand-lg navbar-light bg-light">
                    <div class="container">
                        <button class="navbar-toggler ml-auto" type="button" data-toggle="collapse" data-target="#navbar10">
                            <span class="navbar-toggler-icon"></span>
                        </button>
                        <div class="collapse navbar-collapse text-center" id="navbar10">
                            <ul class="navbar-nav nav-fill w-100">
                                <li class="nav-item active">
                                    <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="#">Results</a>
                                </li>
                                <li class="nav-item">
                                    <a class="nav-link" href="#">References</a>
                                </li>
                                <li class="nav-item">
                                    <a class="nav-link" href="#">Contact</a>
                                </li>
                            </ul>
                        </div>
                    </div>
                </nav>
          </div>
    </header>

【讨论】:

  • 是的,我也尝试在 js fiddle 中转换我的代码并且它工作正常,我想知道我的导航栏有什么问题
  • @Snow 您是否使用了 head 标签中的所有链接。除了上述链接之外,您的 head 标签中是否还有其他链接
  • 我解决了这个问题,我在关闭 HTML 标记之前监督 Bootstrap JS 链接,谢谢你的线索。
猜你喜欢
  • 2019-08-22
  • 2017-11-18
  • 2018-03-28
  • 2019-01-17
  • 2021-10-07
  • 1970-01-01
  • 2020-08-15
  • 2018-12-26
  • 2018-12-27
相关资源
最近更新 更多