简体   繁体   English

Bootstrap-导航栏折叠菜单不显示

[英]Bootstrap - Navbar Collapse menu not displaying

My navbar does not collapse correctly. 我的导航栏无法正确折叠。 When the window is made smaller, the navbar disappears completely and the replacement accordion menu does not get displayed. 将该窗口缩小后,导航栏将完全消失,并且不会显示替换手风琴菜单。 Ideas? 有想法吗?

<section id='mainnavbar'>
    <div class="navbar">

        <!-- Header -->
        <div class="navbar-header">
            <button type="button" class="navbar-toggle collapsed"  data-toggle="collapse" data-target="#mainnavbar-link">
                <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" href=<%= root_path %>  >
                <!-- <%= t('company_name') %> -->
                        <%= render_logo %>
            </a>
        </div>
        <!-- Navbar Links -->
        <div id='mainnavbar-link' class="pull-right collapse navbar-collapse">      
                    <ul class="nav navbar-nav">
                        <% Page.roots.menu.each do |menu_item| %>
                                <%= render partial: 'shared/nav/nav_pages_item', locals: {:menu_item => menu_item} %>
                        <%end%>
                    </ul>
                </li>
            </ul>
        </div>
    </div>
</section>

I'm assuming you mean the hamburger menu button. 我假设您的意思是汉堡菜单按钮。 It does get displayed but you can't see it because it's the same colour as the background. 它确实会显示,但您看不到它,因为它和背景颜色相同。

You need to change the first div to include an extra class if you want to use the default bootstrap navbar: 如果要使用默认的引导程序导航栏,则需要更改第一个div以包括额外的类:

<div class="navbar navbar-default">

jsfiddle: https://jsfiddle.net/2Lxkpzwc/3/ jsfiddle: https ://jsfiddle.net/2Lxkpzwc/3/

Your code seems good. 您的代码似乎不错。 I am currently working on a website that has navbar just like yours, and it seems to me that it's exactly like mine. 我目前正在与您一样拥有navbar的网站上工作,在我看来,它就像我的一样。 Just in case, do you have jquery script on your page? 以防万一,您的页面上是否有jquery脚本?

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>

make sure you include every thing needed. 确保您包括所有需要的东西。 and it also mite be disappearing be hind something so just use z-index:1000 or position:absolute to fix this if you go into inspect element it and hover over the section or the div it should show you where on the screen it is 并且它也消失了,所以如果您进入检查元素并将其悬停在该sectiondiv则应该使用z-index:1000position:absolute修复此问题,它应该向您显示它在屏幕上的位置

Add a custom class 添加自定义类

 <div class="navbar navbar-custom">

which makes the hamburger menu visible 这使汉堡菜单可见

CSS 的CSS

$bgDefault      : none;
$bgHighlight    : black;
$colDefault     : grey;
$colHighlight   : blue;
$dropDown       : false;



.navbar-custom {
  background-color: $bgDefault;
  border-color: $bgHighlight;
  .navbar-brand {
    color: $colDefault;
    &:hover, &:focus {
      color: $colHighlight; }}
  .navbar-text {
    color: $colDefault; }
  .navbar-nav {
    > li {
      > a {
        color: $colDefault;
        &:hover,  &:focus {
          color: $colHighlight; }}
      @if $dropDown {
        > .dropdown-menu {
          background-color: $bgDefault;
          > li {
            > a {
              color: $colDefault;
              &:hover,  &:focus {
                color: $colHighlight;
                background-color: $bgHighlight; }}
            > .divider {
              background-color: $bgHighlight;}}}}}
    @if $dropDown {
      .open .dropdown-menu > .active {
        > a, > a:hover, > a:focus {
          color: $colHighlight;
          background-color: $bgHighlight; }}}
    > .active {
      > a, > a:hover, > a:focus {
        color: $colHighlight;
        background-color: $bgHighlight; }}
    > .open {
      > a, > a:hover, > a:focus {
        color: $colHighlight;
        background-color: $bgHighlight; }}}
  .navbar-toggle {
    border-color: $bgHighlight;
    &:hover, &:focus {
      background-color: $bgHighlight; }
    .icon-bar {
      background-color: $colDefault; }}
  .navbar-collapse,
  .navbar-form {
    border-color: $colDefault; }
  .navbar-link {
    color: $colDefault;
    &:hover {
      color: $colHighlight; }}}
@media (max-width: 767px) {
  .navbar-custom .navbar-nav .open .dropdown-menu {
    > li > a {
      color: $colDefault;
      &:hover, &:focus {
        color: $colHighlight; }}
    > .active {
      > a, > a:hover, > a:focus {
        color: $colHighlight;
        background-color: $bgHighlight; }}}
}

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

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