【问题标题】:Change bootstrap 3.3.6 navbar collapse breakpoint [duplicate]更改引导程序 3.3.6 导航栏折叠断点 [重复]
【发布时间】:2016-04-01 10:58:38
【问题描述】:

当前,当浏览器宽度降至 768 像素以下时,.navbar 会更改为折叠模式。我想将此宽度更改为 992px,因此当浏览器低于 992px 时,.navbar 更改为折叠模式。我使用的是 bootstrap 3.3.6

我正在使用此代码,但它对我不起作用

@media screen and (max-width: 992px) {
.navbar-header {
    float: none;
}
.navbar-left,.navbar-right {
    float: none !important;
}
.navbar-toggle {
    display: block;
}
.navbar-collapse {
    border-top: 1px solid transparent;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.1);
}
.navbar-fixed-top {
    top: 0;
    border-width: 0 0 1px;
}
.navbar-collapse.collapse {
    display: none!important;
}
.navbar-nav {
    float: none!important;
    margin-top: 7.5px;
}
.navbar-nav>li {
    float: none;
}
.navbar-nav>li>a {
    padding-top: 10px;
    padding-bottom: 10px;
}
.collapse.in{
    display:block !important;
}
}

【问题讨论】:

  • “它对我不起作用”实际上是什么意思,因为上面的代码确实完成了你的问题。
  • 是的,但它在我的项目中不起作用,我不知道为什么
  • 那么您应该花时间发布相关代码(HTML 等)以及有关您工作环境的任何其他信息。

标签: css twitter-bootstrap web breakpoints


【解决方案1】:

我已经在 bootstrap 3.3.6 中尝试了以下代码,它可以工作。

@media (max-width: 996px) {
.navbar-header {
    float: none;
}
.navbar-toggle {
    display: block;
}
.navbar-collapse {
    border-top: 1px solid transparent;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);
}
.navbar-collapse.collapse {
    display: none!important;
}
.navbar-nav {
    float: none!important;
    margin: 7.5px -15px;
}
.navbar-nav>li {
    float: none;
}
.navbar-nav>li>a {
    padding-top: 10px;
    padding-bottom: 10px;
}
}

请查看jsfiddle

【讨论】:

    【解决方案2】:

    我正在寻找完全相同的东西,我找到了 this ,它 100% 有效!

    你需要添加这个 css

    @media (max-width: 992px) {
    .navbar-header {
        float: none;
    }
    .navbar-left,.navbar-right {
        float: none !important;
    }
    .navbar-toggle {
        display: block;
    }
    .navbar-collapse {
        border-top: 1px solid transparent;
        box-shadow: inset 0 1px 0 rgba(255,255,255,0.1);
    }
    .navbar-fixed-top {
        top: 0;
        border-width: 0 0 1px;
    }
    .navbar-collapse.collapse {
        display: none!important;
    }
    .navbar-nav {
        float: none!important;
        margin-top: 7.5px;
    }
    .navbar-nav>li {
        float: none;
    }
    .navbar-nav>li>a {
        padding-top: 10px;
        padding-bottom: 10px;
    }
    .collapse.in{
        display:block !important;
    }
    }
    

    你还需要这个 javascript

    $('#monitor').html($(window).width());
    
        $(window).resize(function() {
        var viewportWidth = $(window).width();
    $('#monitor').html(viewportWidth);
    });
    

    如果它不起作用,请回答我这些问题...

    1. 您使用导航栏固定顶部吗?
    2. 您是否使用 navbar-inverse?

    看看我的 html 代码,它可能会对你有所帮助...

        <nav class="navbar navbar-inverse navbar-fixed-top">
      <div class="container">
        <div class="navbar-header">
          <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
            <span class="sr-only">Toggle navigation</span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
          </button>
        </div>
        <!-- This is the main nav menu content -->
        <div id="navbar" class="collapse navbar-collapse">
          <ul class="nav navbar-nav hover-effect">
            <li><a href="#header">Home</a></li>..........
    

    【讨论】:

      【解决方案3】:

      这行得通,导航栏在 992px 处折叠,css 代码如下:

      @media (min-width: 992px) {
        .navbar-right .dropdown-menu {
          left: auto;
          right: 0;
        }
        .navbar-right .dropdown-menu-left {
          left: 0;
          right: auto;
        }
      }
      
      @media (min-width: 992px) {
        .navbar-header {
          float: left;
        }
      }
      @media (min-width: 992px) {
        .navbar-collapse {
          width: auto;
          border-top: 0;
          -webkit-box-shadow: none;
                  box-shadow: none;
        }
        .navbar-collapse.collapse {
          display: block !important;
          height: auto !important;
          padding-bottom: 0;
          overflow: visible !important;
        }
        .navbar-collapse.in {
          overflow-y: visible;
        }
        .navbar-fixed-top .navbar-collapse,
        .navbar-static-top .navbar-collapse,
        .navbar-fixed-bottom .navbar-collapse {
          padding-left: 0;
          padding-right: 0;
        }
      }
      @media (min-width: 992px) {
        .container > .navbar-header,
        .container-fluid > .navbar-header,
        .container > .navbar-collapse,
        .container-fluid > .navbar-collapse {
          margin-right: 0;
          margin-left: 0;
        }
      }
      @media (min-width: 992px) {
        .navbar-fixed-top,
        .navbar-fixed-bottom {
          border-radius: 0;
        }
      }
      @media (min-width: 992px) {
        .navbar-fixed-top,
        .navbar-fixed-bottom {
          border-radius: 0;
        }
      }
      @media (min-width: 992px) {
        .navbar > .container .navbar-brand,
        .navbar > .container-fluid .navbar-brand {
          margin-left: -15px;
        }
      }
      @media (min-width: 992px) {
        .navbar-toggle {
          display: none;
        }
      }
      @media (min-width: 992px) {
        .navbar-nav {
          float: left;
          margin: 0;
        }
        .navbar-nav > li {
          float: left;
        }
        .navbar-nav > li > a {
          padding-top: 15px;
          padding-bottom: 15px;
        }
      }
      @media (min-width: 992px) {
        .navbar-form {
          width: auto;
          border: 0;
          margin-left: 0;
          margin-right: 0;
          padding-top: 0;
          padding-bottom: 0;
          -webkit-box-shadow: none;
          box-shadow: none;
        }
      }
      @media (min-width: 992px) {
        .navbar-text {
          float: left;
          margin-left: 15px;
          margin-right: 15px;
        }
      }
      @media (min-width: 992px) {
        .navbar-left {
          float: left !important;
        }
        .navbar-right {
          float: right !important;
          margin-right: -15px;
        }
        .navbar-right ~ .navbar-right {
          margin-right: 0;
        }
      }
      

      【讨论】:

      • 谢谢,但它对我不起作用:/ 我尝试了很多代码,但我无法修复:/
      【解决方案4】:

      推荐的方法是使用 Bootstrap 的 'Customize and download' 函数来自定义 Bootstrap 以满足您的要求。

      您也可以更改媒体查询,但最终可能会覆盖一堆类:

      @media (min-width: 768px) and (max-width: 992px) {
         .collapse {
             display: none !important;
         }
      }
      

      【讨论】:

      • 谢谢,我想我会尝试下载自定义引导程序:D
      猜你喜欢
      • 2016-10-22
      • 2017-04-18
      • 1970-01-01
      • 2021-08-21
      • 2021-08-23
      • 1970-01-01
      • 1970-01-01
      • 2013-11-18
      • 2022-09-23
      相关资源
      最近更新 更多