【问题标题】:Bootstrap navbar disappears when resizing screen调整屏幕大小时,引导导航栏消失
【发布时间】:2014-03-02 01:05:53
【问题描述】:

当屏幕大小调整到阈值以下时,我的导航栏应该折叠为选择列表。它适用于我的主页,但不适用于其他页面,即在主页以外的其他页面上,当屏幕调整大小直到站点折叠时,导航栏完全消失(应该存在的选择列表元素不存在) .我的导航栏下方有一个子菜单,它可以很好地折叠。我想知道有什么问题?可能是脚本冲突(但崩溃是引导 css 对)?

我的导航栏属于导航栏类,左边有一个标签的标志,

  • 用于链接按钮。

    我将 jQuery 和 django 与 bootstrap 一起使用。

        <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta http-equiv="Content-Type" content="text/html"; charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <meta name="description" content="">
        <!--
        <link rel="stylesheet" type="text/css" href="/static/global.css">
        -->
        <link rel="stylesheet" type="text/css" href="/static/smoothness/jquery-ui-1.10.0.custom.min.css">
        <link rel="stylesheet" type="text/css" href="/static/bootstrap/css/bootstrap.min.css">
        <!--[if ie]><meta content='IE=8' http-equiv='X-UA-Compatible'/><![endif]-->
        <link href="/static/bootstrap/css/bootstrap-responsive.css" rel="stylesheet" type="text/css">   
        <!--link href="/static/bootstrap/css/bootstrap-responsive.min.css" rel="stylesheet" type="text/css"-->      
        <link href="/static/bootstrap/css/paralax.css" rel="stylesheet" type="text/css">
        <link href="/static/bootstrap/css/main.css" rel="stylesheet" type="text/css">
        <!--[if lt IE 9]>
                <link href="css/ie.css" rel="stylesheet"/>
                <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>      
                <script src="js/css3-mediaqueries.js"></script>
        <![endif]-->
    
    
    
    
            <script src="/static/bootstrap/js/modernizr.custom.js"></script>    
            <script src="/static/js/jquery-1.9.0.js"></script>
            <script src="/static/js/jquery-ui-1.10.0.custom.min.js"></script>
            <script src="/static/bootstrap/js/jquery.scrolltotop.js"></script>
            <script src="/static/bootstrap/js/jquery-1.7.2.min.js"></script>
            <script src="/static/highcharts-3/js/highcharts.js"></script>
            <script src="/static/bootstrap/js/bootstrap.min.js"></script>
            <script src="/static/bootstrap/js/superfish.js"></script>
    
        <title>CoAssets Platform (BETA)</title>
    </head>
    
    <body>
    
        <!--div class="container-fluid"-->
            <div class="row-fluid">
                <div class="span12" id="topmenu">
                {% block topmenu %}{% endblock %}
                </div>
            </div>
    
            <div class="row-fluid" style="background-color:#ffad37">
                <div class="span12" id="submenu" style="padding-top:2px; padding bottom:2px">
                <ul class="nav nav-pills">          
                    {% block submenu %}{% endblock %}
                    <li class="pull-right"><a class="btn" href="/account/logout" style="font-size: 16px; font-family: 'PT Sans', sans-serif; text-align: center;">Logout</a>
                    <li class="pull-right"><a href="/account/">Account</a></li>
                </ul>
                </div>  
            </div>
        <!--/div-->
    
        <!--div class="container-fluid"-->
            <div class="row-fluid">
                <div class="span12" id="main">
                    {% block main_body %}{% endblock %}
                </div>
            </div> 
        <!--/div-->
        </br>
        <div class="container-fluid" id="copyright">    
            <div class="row-fluid">
                <div class="span4">
                    <p>Legalise</p>
                    <p>Contact Us</p>
                </div>
                <div class="span4">
                    <p>Partners</p>
                    <p>FAQ</p>
                    <p>Definitions</p>
                </div>
                <div class="span4">
                    <p><a  href="/util/">Admin</a></p>
                </div>
            </div>
            <div class="row-fluid" id="copyright">
                <div class="span12" id="footer">
                    <p>Copyright of CoAssets.com &copy; 2013</p>
                </div>
            </div>      
        </div>
    
    
    <script>
    //script conflicts with some other jQuery scripts, so need to handle this script
    jQuery.noConflict();
    $(document).ready(function($){  
        $('.nav li').each(function() {
            var currentPath = window.location.pathname;
            var thisPath = $(this).children().attr('href');
            //alert("sub menu currentPath= "+currentPath+" thisPath= "+thisPath);
            $(this).removeClass('active');
            if (thisPath == currentPath && !$(this).hasClass('active')) {
                $(this).addClass('active');
            };
        });
    
        $('#menu li').each(function() {
            var currentPath = window.location.pathname;
            var thisPath = $(this).children().attr('href');
            var len = thisPath.length;
            //alert("top menu currentPath= "+currentPath+" thisPath= "+thisPath);
            $(this).removeClass('active');
            if (thisPath != '/' && thisPath == currentPath.substring(0,len) 
                                                        && !$(this).hasClass('active')) {
                $(this).addClass('active');
            } else if (thisPath=='/' && currentPath == '/')
            {
                $(this).addClass('active');
            };
        });
    });
    </script>
    
    
    </body>
    </html>
    
    
    
    {% extends "base.html" %}
    
    {% block topbar %}
    
    {% endblock %}
    
    {% block topmenu %}
        <section class="navbar">
            <div class="navbar-inner main-menu">
                <div class="row-fluid">
                    <div class="span2">
                        <a href="www.ascendantassets.com" class="logo pull-left"><img src="/public_media/index_01 edited4.png" alt=""></a>      
                    </div>
                    <div class="span10">
                        <nav id="menu" class="pull-right" >
                            <ul>
                                <li class="active"><a href="/">Home<br/><span>CoAssets</span></a></li>
                                <li><a href="/cms/view/">News</a></li>      
                                <li><a href="/portfolio/">Portfolio</a></li>                    
                                <li><a href="/property/">Opportunities</a></li>
                                <li><a href="/ipo/">New Opportunities</a></li>
                                <li><a href="/transaction/">Transaction</a></li>
                                <li><a href="/analytics/npv/">Research</a></li> 
                                <!--li><a href="/account/">Account</a></li-->
                                <!--li><a href="/util/">Admin</a></li-->
                            </ul>
                        </nav>
                    </div>
                </div>
            </div>
        </section>
    
        {%comment%}
        <div class="label label-warning offset2">
            <p>CoAssets Beta</p>
        </div>
        {%endcomment%}
    
    
    {% endblock %}
    
  • 【问题讨论】:

    • 你能分享你正在使用的代码吗?
    • 我怀疑是脚本冲突,所以这里是我的base.html,缺少的导航栏基本在block topmenu中
    • 但它只在主页上有效
    • 我也有同样的问题;菜单不再出现。

    标签: django twitter-bootstrap fluid-layout navbar


    【解决方案1】:

    使用 bootstrap 3.0,navbar-inner 不再是一个类,就我而言,在遇到此问题时,删除该类会导致正确的行为。

    <nav class="navbar" role="navigation">
            <div class="container">
    
                <div class="navbar navbar-inverse ">
            <!-- Brand and toggle get grouped for better mobile display -->
                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#collapsing-nav">
                    <span class="sr-only"></span>
                    <span class="icon-bar"></span>
                    <span class="icon-bar"></span>
                    <span class="icon-bar"></span>
                </button>
    
        <div class="collapse navbar-collapse" id="collapsing-nav">
        <ul class="nav navbar-nav">
          <!--   dropdown items go here -->
        </ul>
        </div>
    
                </div><!--/.navbar -->
                </div><!-- /.container -->
    </nav>
    

    或者,您可以将以下内容添加到您的样式声明中以自我支持

    .navbar-inner {
       min-height: 50px;
    }
    

    问题是由多种因素造成的:

    • 在折叠模式下导航栏中没有文本(最常见的是导航栏品牌项目)
    • 这会留在布局中的浮动元素上
    • 从引导库中删除 navbar-inner

    开发团队修复了这个here,但是有很多示例代码,用户需要在.container 中使用导航,建议使用.navbar-inner...不再存在。

    使用那个不存在的类会抛出你的css,因为引导程序从less编译css,并且该属性分配给.navbar属性,而不是.navbar-inner,所以基本上min-height属性没有最终被分配给您的导航栏,并且您在导航上没有高度,没有文本可以为元素提供计算的高度,并且只有在流程之外并且不会在高度计算中计算的浮动元素.

    【讨论】:

      【解决方案2】:

      我遇到了类似的问题,但我只是为容器添加了“位置:固定”并且它可以工作。试试看,也许对你有用。

      【讨论】:

      • 这会中断流程,并在您页面的其余部分造成意想不到的问题。
      猜你喜欢
      • 2014-04-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-13
      • 2013-12-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多