web-dev-qa-db-ja.com

ブートストラップ3.0のナビゲーションバーの高さを下げる

トップクラスの動作を固定して使用されるブートストラップ3.0のナビゲーションバーの高さを減らそうとしています。ここで私はコードを使っています。

HTML

<div class="tnav">
<div class="navbar navbar-fixed-top" role="banner">
    <div class="navbar-inner-sm">
  <div class="container">
    <div class="navbar-header">
      <button class="navbar-toggle" type="button" data-toggle="collapse" data-target=".bs-navbar-collapse">
        <span class="sr-only">Toggle navigation</span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
      </button>
    </div>
    <nav class="collapse navbar-collapse" role="navigation">
      <ul class="nav navbar-nav pull-right">
        <li class="active">
          <a href="../getting-started">Getting started</a>
        </li>
        <li>
          <a href="../css">Ext01</a>
        </li>
        <li>
          <a href="../components">Language</a>
        </li>
        <li>
          <a href="../javascript">My Account</a>
        </li>
        <li>
          <a href="../customize">Sign Out</a>
        </li>
      </ul>
    </nav>
  </div>
    </div>
</div>

CSS

.tnav .navbar { background:#F06; height:30px; }
.navbar-inner-sm{background-color: #282828;padding: 1px 20px;background-repeat: repeat-x;-webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, .25), inset 0 -1px 0 rgba(0, 0, 0, .1);-moz-box-shadow: 0 1px 3px rgba(0, 0, 0, .25), inset 0 -1px 0 rgba(0, 0, 0, .1);box-shadow: 0 1px 3px rgba(0, 0, 0, .25), inset 0 -1px 0 rgba(0, 0, 0, .1);background-image: linear-gradient(top, #333333, #222222);}
.navbar-inner-sm .nav {position: relative;left: 0;display: block;float: left;margin: 0 10px 0 0;}
.navbar-inner-sm .nav.pull-right {float: right;}
.navbar-inner-sm .nav > li {display: block;float: left;}
.navbar-inner-sm .nav > li > a {float: none;padding: 4px 5px;line-height: 19px;color: #999999;text-decoration: none;text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);}
.navbar-inner-sm .nav > li > a:hover {background-color: transparent;color: #ffffff;text-decoration: none;}
.navbar-inner-sm .nav .active > a,.navbar .nav .active > a:hover {color: #ffffff;text-decoration: none;background-color: #003753;}
.navbar-inner-sm .divider-vertical {height: 27px;width: 1px;margin: 0 9px;overflow: hidden;background-color: #282828;border-left: 1px solid #3f3f3f; border-right: 1px solid #161616;}
.navbar-inner-sm .nav.pull-right {margin-left: 10px;margin-right: 0;}

結果

enter image description here

表示される画面から、ナビゲーションバーの出力は減少しましたが、高さは減少しません。元の高さはピンク色で表示されます。

上記のcssスクリプトは、ほとんどブートストラップ2でうまく機能します。*

身長を適切に減らす方法はありますか。

108
irfanmcsd

数時間を費やした後、次のCSSクラスを追加することで私の問題は解決しました。

Bootstrap 3.0で作業してください。*

.tnav .navbar .container { height: 28px; }

ブートストラップ3.3.4を使った作業

.navbar-nav > li > a, .navbar-brand {
    padding-top:4px !important; 
    padding-bottom:0 !important;
    height: 28px;
}
.navbar {min-height:28px !important;}

更新スクリーンショットでナビゲーションバーの高さをカスタマイズして減らすための完全なコード。

enter image description here

CSS:

/* navbar */
.navbar-primary .navbar { background:#9f58b5; border-bottom:none; }
.navbar-primary .navbar .nav > li > a {color: #501762;}
.navbar-primary .navbar .nav > li > a:hover {color: #fff; background-color: #8e49a3;}
.navbar-primary .navbar .nav .active > a,.navbar .nav .active > a:hover {color: #fff; background-color: #501762;}
.navbar-primary .navbar .nav li > a .caret, .tnav .navbar .nav li > a:hover .caret {border-top-color: #fff;border-bottom-color: #fff;}
.navbar-primary .navbar .nav > li.dropdown.open.active > a:hover {}
.navbar-primary .navbar .nav > li.dropdown.open > a {color: #fff;background-color: #9f58b5;border-color: #fff;}
.navbar-primary .navbar .nav > li.dropdown.open.active > a:hover .caret, .tnav .navbar .nav > li.dropdown.open > a .caret {border-top-color: #fff;}
.navbar-primary .navbar .navbar-brand {color:#fff;}
.navbar-primary .navbar .nav.pull-right {margin-left: 10px; margin-right: 0;}
.navbar-xs .navbar-primary .navbar { min-height:28px; height: 28px; }
.navbar-xs .navbar-primary .navbar .navbar-brand{ padding: 0px 12px;font-size: 16px;line-height: 28px; }
.navbar-xs .navbar-primary .navbar .navbar-nav > li > a {  padding-top: 0px; padding-bottom: 0px; line-height: 28px; }
.navbar-sm .navbar-primary .navbar { min-height:40px; height: 40px; }
.navbar-sm .navbar-primary .navbar .navbar-brand{ padding: 0px 12px;font-size: 16px;line-height: 40px; }
.navbar-sm .navbar-primary .navbar .navbar-nav > li > a {  padding-top: 0px; padding-bottom: 0px; line-height: 40px; }

取扱コード:

<div class="navbar-xs">
   <div class="navbar-primary">
       <nav class="navbar navbar-static-top" role="navigation">
          <!-- Brand and toggle get grouped for better mobile display -->
          <div class="navbar-header">
              <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#bs-example-navbar-collapse-8">
                 <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="#">Brand</a>
          </div>
          <!-- Collect the nav links, forms, and other content for toggling -->
          <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-8">
              <ul class="nav navbar-nav">
                  <li class="active"><a href="#">Home</a></li>
                  <li><a href="#">Link</a></li>
                   <li><a href="#">Link</a></li>
              </ul>
          </div><!-- /.navbar-collapse -->
      </nav>
  </div>
</div>
123
irfanmcsd

ワーキングソリューション:

Bootstrap 3.0はデフォルトで上下に15pxのパディングがあるので、それを上書きするだけでいいのです。

例えば:

.navbar-nav > li > a {padding-top:10px !important; padding-bottom:10px !important;}
.navbar {min-height:40px !important}
43
Ranveer

以下のように.navbarで設定された最小の高さを単に上書きします。

.navbar{
  min-height:20px; //* or whatever height you require
}

要素の高さをmin-heightより小さい値に変更しても違いはありません。

40
patrick

少ないソースを使用している場合は、variables.lessファイルにナビゲーションバーの高さの変数があるはずです。ソースを使用していない場合は、ブートストラップのサイトに用意されているcustomizeユーティリティを使用してソースをカスタマイズできます。それをダウンロードしてプロジェクトに含めることができます。あなたが探している変数は@navbar-heightです。

27
AJ Meyghani

これは私の経験です

 .navbar { min-height:38px;   }
 .navbar .navbar-brand{ padding: 0 12px;font-size: 16px;line-height: 38px;height: 38px; }
 .navbar .navbar-nav > li > a {  padding-top: 0px; padding-bottom: 0px; line-height: 38px; }
 .navbar .navbar-toggle {  margin-top: 3px; margin-bottom: 0px; padding: 8px 9px; }
 .navbar .navbar-form { margin-top: 2px; margin-bottom: 0px }
 .navbar .navbar-collapse {border-color: #A40303;}

change height of navabr to 38px

9
Hoàng Vũ Tgtt

私のために働いた唯一の方法はこのリンクで説明されています: Bootstrap 3でナビゲーションバーの高さをどうやって減らすのですか?

たった2行のコードでナビゲーションバーの高さを減らす

4
giovannim

LESS/SASSでスタイルシートを生成していて、そこにBootstrapをインポートしている場合、@ navbar-height変数をオーバーライドすると、元々variables.lessファイルで定義されているnavbarの高さを設定できることがわかりました。

enter image description here

3
Brian

私の2ペンスとJames Poulose氏への最初の回答に感謝します。それは私の特定のプロジェクト(Bootstrap 3の最新バージョンを備えたMVC 5)のために働いた唯一のものでした。

わかりやすくするため、また将来の編集を容易にするために、これは主に初心者を対象としています。たとえば、プロジェクトのCSSファイルの下部にセクションを追加することをお勧めします。

/* Bootstrap overrides */

.some-class-here {
}

上記のJames Pouloseの答えを取って、私はこうしました:

/* Bootstrap overrides */   
.navbar-nav > li > a { padding-top: 8px !important; padding-bottom: 5px !important; }
.navbar { min-height: 32px !important; }
.navbar-brand { padding-top: 8px; padding-bottom: 10px; padding-left: 10px; }

私は私のnavbar要素の上にテキストをプッシュダウンするためにpadding-topの値を変更しました。このようなBootstrap要素をほとんどオーバーライドでき、Boostrap基本クラスを台無しにせずに変更を加えることができます。最後に行うことはそこで変更を加えてからBootstrapを更新したときにそれを失うことです。

最後に、さらに分離するために、CSSファイルを分割し、@ import宣言を使用してサブファイルを1つのメインCSSファイルにインポートし、簡単に管理できるようにします。

@import url('css/mysubcssfile.css');

:複数のファイルを取り込む場合は、それらが正しい順序でロードされるようにする必要があります。

これが誰かに役立つことを願っています。

2
Tahir Khalid

既存の色を変えずに、私たちはこれより少ないスタイルを書くことができると思います。以下は私にとってうまくいきました(Bootstrap 3.2.0)。

.navbar-nav > li > a { padding-top: 5px !important; padding-bottom: 5px !important; }
.navbar { min-height: 32px !important; }
.navbar-brand { padding-top: 5px; padding-bottom: 10px; padding-left: 10px; }

最後のもの( 'navbar-brand')は、実際にはあなたの 'brand'名としてテキストがある場合にのみ必要です。

2
James Poulose

私は同じ問題を抱えていた、ブートストラップによって提供される私のメニューバーの高さが大きすぎた、実際に私はいくつかの間違ったブートストラップをダウンロードし、最後にこのサイトからオリジナルのブートストラップをダウンロードしてそれを取り除く.. http://getbootstrap.com/2.3.2/ yii(NetBeans)でブートストラップを使用したい、このチュートリアルに従う、 https://www.youtube .com/watch?v = XH_qG8gphaw ...音声は表示されませんが、手順は遅いので簡単に理解して実装できます。ありがとう

0