繁体   English   中英

导航栏折叠在 Bootstrap 中不起作用

[英]Navbar collapse is not working in Bootstrap

@Bhanu pratap 解决了这个问题。 在这个问题的末尾检查一下。

我一直在学习建立导航栏折叠(三明治)的旧课程。 问题是课程中的页面似乎在顶部有一个黑条,并且在缩小页面时出现导航栏。 对我来说,我只是在左边得到一个按钮。 另外,当我缩小页面时,我看不到导航栏。

这是源代码:

<!DOCTYPE html>
<html lang="arabic">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

    <meta charset="utf-8">

    <meta name="viewport" content="width=device-width, initial-scale=1">

    <meta name="description" content="">

    <meta name="author" content="">

    <link rel="icon" herf="assets/img/favicon.ico">
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
    <script src="assets/js/jquery-3.1.1.min.js"></script>
    <script src="assets/js/main.js"></script>

    <!-- Bootstrap core CSS -->
    <link href="assets/css/bootstrap.min.css" rel="stylesheet">

    <!-- Font-Awesome icons-->
    <link href="assets/css/font-awesome/css/font-awesome.min.css">

    <!-- Google Fonts LATEEF -->
    <link href="https://fonts.googleapis.com/css?family=Changa:400,600&amp;subset=arabic,latin-ext" rel="stylesheet">

    <title>Bootstrap to Wordpress</title>




        <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
    <!--[if lt IE 9]>
      <script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
    <![endif]-->

  </head>

  <body>

    <!-- HEADER -->
    <header class="site-header" role="banner">

         <!-- NAVBAR -->
         <div class="navbar-wrapper">
             <div class="navbar navbar-inverse navbar-fixed-top" role="navigation">

                  <div class="container">
                      <div class="navbar-header">
                        <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
                            <span class="sr-only">Toggle navigation</span>
                            <span class="icon-bar"></span>
                            <span class="icon-bar"></span>
                            <span class="icon-bar"></span>
                        </button>
                        <a class="navbar-brand" herf="/"><img src="assets/img/logo.png" alt="Bootstrap to WordPress"></a>
                      </div><!-- navbar-header -->
                      <div class="navbar-collapse collapse">

                      </div><!-- collapse nav-->
                  </div><!-- container -->

             </div><!-- navbar -->


         </div><!-- navbar-wrapper-->


    </header>

    <!-- FOOTER TAG -->
    <footer>

    </footer>

    <!-- MODAL -->
    <div>

    </div>

    <!-- BOOTSTRAP CORE JAVASCRIPT
          PLACED AT THE END OF THE DOCUMENT SO THE PAGES
          LOAD FASTER!
    ================================================== -->
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
    <script src="assets/js/jquery-3.1.1.min.js"></script>
    <script src="assets/js/main.js"></script>

    <!-- Type google font -->
    <script src="https://use.typekit.net/byz5vqz.js"></script>
    <script>try{Typekit.load({ async: true });}catch(e){}</script>

  </body>
</html>

我试图用另一个源代码更改这部分,但问题又出现了。

 <!-- NAVBAR -->
             <div class="navbar-wrapper">
                 <div class="navbar navbar-inverse navbar-fixed-top" role="navigation">

                      <div class="container">
                          <div class="navbar-header">
                            <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
                                <span class="sr-only">Toggle navigation</span>
                                <span class="icon-bar"></span>
                                <span class="icon-bar"></span>
                                <span class="icon-bar"></span>
                            </button>
                            <a class="navbar-brand" herf="/"><img src="assets/img/logo.png" alt="Bootstrap to WordPress"></a>
                          </div><!-- navbar-header -->
                          <div class="navbar-collapse collapse">

                          </div><!-- collapse nav-->
                      </div><!-- container -->

                 </div><!-- navbar -->
            </div><!-- navbar-wrapper-->

更新:@Bhanu pratap 通过添加 ul 和 li 解决了问题以显示可见效果。 这是他的源代码:

<script src="https://code.jquery.com/jquery-2.1.3.min.js"></script>
<script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/js/bootstrap.min.js"></script>
<link href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css" rel="stylesheet"/>


<div class="navbar-wrapper">
        <div class="navbar navbar-inverse navbar-fixed-top" role="navigation">

            <div class="container">
                <div class="navbar-header">
                    <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target=".navbar-collapse">
                        <span class="sr-only">Toggle navigation</span>
                        <span class="icon-bar"></span>
                        <span class="icon-bar"></span>
                        <span class="icon-bar"></span>
                    </button>
                    <a class="navbar-brand" herf="/"><img src="assets/img/logo.png" alt="Bootstrap to WordPress"></a>
                </div><!-- navbar-header -->
                <div class="navbar-collapse collapse">
                    <ul class="nav navbar-nav">
                        <li>
                            <a href="">First Menu Item</a>
                        </li>
                        <li>
                            <a href="">Second Menu Item</a>
                        </li>
                        <li>
                            <a href="">Third Menu Item</a>
                        </li>
                    </ul>
                </div><!-- collapse nav-->
            </div><!-- container -->

        </div><!-- navbar -->
    </div>

Bootstrap 5 data-* 属性语法已更改,现在您需要在第一个破折号之后添加“bs-”(对于 Bootstrap),然后是 class 规范的 rest。

为您的按钮标签部分试试这个:

 <button type="button" class="navbar-toggle collapsed" data-bs-toggle="collapse" data-bs-target=".navbar-collapse"> <span class="sr-only">Toggle navigation</span> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button>

试试吧..我刚刚在代码中添加了ul和li以显示可见效果,您可以在此处使用代码部分。

 <script src="https://code.jquery.com/jquery-2.1.3.min.js"></script> <script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/js/bootstrap.min.js"></script> <link href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css" rel="stylesheet"/> <div class="navbar-wrapper"> <div class="navbar navbar-inverse navbar-fixed-top" role="navigation"> <div class="container"> <div class="navbar-header"> <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target=".navbar-collapse"> <span class="sr-only">Toggle navigation</span> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button> <a class="navbar-brand" herf="/"><img src="assets/img/logo.png" alt="Bootstrap to WordPress"></a> </div><!-- navbar-header --> <div class="navbar-collapse collapse"> <ul class="nav navbar-nav"> <li> <a href="">First Menu Item</a> </li> <li> <a href="">Second Menu Item</a> </li> <li> <a href="">Third Menu Item</a> </li> </ul> </div><!-- collapse nav--> </div><!-- container --> </div><!-- navbar --> </div> 

$(document).on('click','.navbar-collapse.in',function(e) {
   if( $(e.target).is('a') && ( $(e.target).attr('class') != 'dropdown-toggle' ) ) {
   $(this).collapse('hide');
} });

$("button.navbar-toggle").click(function (e) {
  $("#main-navbar").collapse('hide');
  $("#main-navbar").removeClass("in"); });

如果您使用的是 Bootstrap 5,对于每个 data-* 属性,请使用 data-bs-* 属性。 例如:

使用<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">它应该可以正常工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM