web-dev-qa-db-ja.com

ブートストラップ:navbarを以前に折りたたむ方法

992pxなど、768pxよりも前の解像度でnavbarを折りたたみたいのですが、どうすればよいですか?ありがとう! (bootstrapページでカスタマイズできますが、新しいbootstrap.cssファイルでプロジェクトをやり直したくありません)

44
Edward

Less/Sassを使用してBootstrapを操作したくない場合(CDNを介してロードするためである可能性があります)、これは私にとってトリックでした:

@media (min-width: 768px) and (max-width: 991px) {
    .navbar-collapse.collapse {
        display: none !important;
    }
    .navbar-collapse.collapse.in {
        display: block !important;
    }
    .navbar-header .collapse, .navbar-toggle {
        display:block !important;
    }
    .navbar-header {
        float:none;
    }
}

デモ: https://jsfiddle.net/0pmy8usr/

これを別のCSSファイルに追加し、bootstrap.cssの後に含めます

Bootstrap 4:の更新

@media(max-width:900px) {
  .navbar .navbar-brand {float:none;display: inline-block;}
  .navbar .navbar-nav>.nav-item { float: none; margin-left: .1rem;}
  .navbar .navbar-nav {float:none !important;}
  .nav-item{width:100%;text-align:left;} 
  .navbar-toggler {display: block !important;}
  .navbar-toggleable-sm.collapse {display:none !important}
  .navbar-toggleable-sm.collapse.in {display:block !important}
}

デモ: https://jsfiddle.net/mkvhbgnp/3/

89
Gerfried

variables.less、 変化する

@grid-float-breakpoint:   @screen-sm-min

@grid-float-breakpoint: @screen-md-min;  
10
barduro

768pxよりも前の解像度でnavbarを折りたたむ必要がある場合は、@ media min-widthおよびmax-width、そして新しい。cssファイル(を作成するために新しいプロジェクトを開始する必要はありません。例:custom.css)およびmain bootstrap.cssの下に挿入して、その値をオーバーライドします。そしてその中にこのコードを書きます:

CODE:

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

また、この投稿を見ることができます: change bootstrap navbar collapse

これが解決策になることを願っています。

7
Ahmed Na.

また、ギャップを埋めるbootstrapクラスをオーバーライドできます。ベローは、ドロップダウンメニューで基本的なナビゲーションバーをオーバーライドする作業コードです。他のクラスをオーバーライドする必要がある場合があります。

    @media (min-width: 768px) and (max-width: 991px) {
        .navbar-nav .open .dropdown-menu {
            position: static;
            float: none;
            width: auto;
            margin-top: 0;
            background-color: transparent;
            border: 0;
            -webkit-box-shadow: none;
            box-shadow: none;
        }
        .navbar-nav .open .dropdown-menu > li > a {
            line-height: 20px;
        }
        .navbar-nav .open .dropdown-menu > li > a,
        .navbar-nav .open .dropdown-menu .dropdown-header {
            padding: 5px 15px 5px 25px;
        }
        .dropdown-menu > li > a {
            display: block;
            padding: 3px 20px;
            clear: both;
            font-weight: normal;
            line-height: 1.42857143;
            color: #333;
            white-space: nowrap;
        }
        .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;*/
            margin: 7.5px 50px 7.5px -15px
        }
        .navbar-nav>li {
            float: none;
        }
        .navbar-nav>li>a {
            padding-top: 10px;
            padding-bottom: 10px;
        }
        .navbar-text {
            float: none;
            margin: 15px 0;
        }
        /* since 3.1.0 */
        .navbar-collapse.collapse.in { 
            display: block!important;
        }
        .collapsing {
            overflow: hidden!important;
        }
    }

ライブデモコードについてはここをクリック

4
jacvalle

CDNの代わりにbootstrap=をプロジェクトに取り込むことをお勧めします。次のようなメディアクエリを探します。

@media (min-width: 768px) {
  .navbar-expand-md {
    -ms-flex-flow: row nowrap;
    flex-flow: row nowrap; //...etc.

それを次のように変更します。

@media (min-width: 900px) {
  .navbar-expand-md {
    -ms-flex-flow: row nowrap;
    flex-flow: row nowrap; // ...etc.

または、CDNを使用している場合は、その特定のメディアクエリのオーバーライドを作成します。

0