Change bootstrap navbar collapse breakpoint without using LESS

前端 未结 19 2559
囚心锁ツ
囚心锁ツ 2020-11-22 07:55

Currently when the browser width drops below 768px, the navbar changes to collapsed mode. I want to change this width to 1000px so when the browser is below 1000px the navba

19条回答
  •  生来不讨喜
    2020-11-22 08:45

    2018 UPDATE

    Bootstrap 4

    Changing the navbar breakpoint is easier in Bootstrap 4 using the navbar-expand-* classes:

    • navbar-expand-sm = mobile menu on xs screens <576px
    • navbar-expand-md = mobile menu on sm screens <768px
    • navbar-expand-lg = mobile menu on md screens <992px
    • navbar-expand-xl = mobile menu on lg screens <1200px
    • navbar-expand = never use mobile menu
    • (no expand class) = always use mobile menu

    If you exclude navbar-expand-* the mobile menu will be used at all widths. Here's a demo of all 6 navbar states: Bootstrap 4 Navbar Example

    You can also use a custom breakpoint (???px) by adding a little CSS. For example, here's 1300px..

    @media (min-width: 1300px){
        .navbar-expand-custom {
            flex-direction: row;
            flex-wrap: nowrap;
            justify-content: flex-start;
        }
        .navbar-expand-custom .navbar-nav {
            flex-direction: row;
        }
        .navbar-expand-custom .navbar-nav .nav-link {
            padding-right: .5rem;
            padding-left: .5rem;
        }
        .navbar-expand-custom .navbar-collapse {
            display: flex!important;
        }
        .navbar-expand-custom .navbar-toggler {
            display: none;
        }
    }
    

    Bootstrap 4 Custom Navbar Breakpoint
    Bootstrap 4 Navbar Breakpoint Examples


    Bootstrap 3

    For Bootstrap 3.3.x, here is the working CSS to override the navbar breakpoint. Change 991px to the pixel dimension of the point at which you want the navbar to collapse...

    @media (max-width: 991px) {
      .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;
      }
    }
    

    Working example for 991px: http://www.bootply.com/j7XJuaE5v6
    Working example for 1200px: https://www.codeply.com/go/VsYaOLzfb4 (with search form)

    Note: The above works for anything over 768px. If you need to change it to less than 768px the example of less than 768px is here.


提交回复
热议问题