web-dev-qa-db-ja.com

navbarの上部にあるTwitter-Bootstrap-2ロゴ画像

誰かがnavbarの上部にロゴ画像を配置する方法を提案できますか?私のマークアップ:

  <body>
    <a href="index.html"> <img src="images/57x57x300.jpg"></a>
     <div class="navbar navbar-fixed-top">
       <div class="navbar-inner">
         <div class="container">

57x57x300.jpgがnavbarの下に表示されているため、機能していません。

67
Gattoo

また、イメージに「navbar-brand」クラスを追加する必要がありますaコンテナー、また、次のように.navbar-innerコンテナー内に含める必要があります。

 <div class="navbar navbar-fixed-top">
   <div class="navbar-inner">
     <div class="container">
        <a class="navbar-brand" href="index.html"> <img src="images/57x57x300.jpg"></a>
     </div>
   </div>
 </div>
71
Andres Ilich

以下のように、bootstrap.cssまたは新しいCSSファイルでブランドクラスを上書きします-

.brand
{
  background: url(images/logo.png) no-repeat left center;
  height: 20px;
  width: 100px;
}

あなたのhtmlは次のようになります-

<div class="container-fluid">
  <a class="brand" href="index.html"></a>
</div>
55

navbar-fixed-topクラスを削除する必要があります。そうしないと、ロゴが必要なページの上部にnavbarが固定されたままになります。


navbar内にロゴを配置する場合:

ナビゲーションバーの高さ(@navbarHeight LESS変数で設定)は、デフォルトで40pxです。ロゴは内側に収まるか、最初にnavbarを高くする必要があります。

次に、brandクラスを使用します。

<div class="navbar navbar-fixed-top">
  <div class="navbar-inner">
    <div class="container">
      <a href="/" class="brand"><img alt="" src="/logo.gif" /></a>
    </div>
  </div>
</div>

ロゴが20pxよりも高い場合は、スタイルシートも修正する必要があります。

LESSでそれを行う場合:

.navbar .brand {
  @elementHeight: 32px;
  padding: ((@navbarHeight - @elementHeight) / 2 - 2) 20px ((@navbarHeight - @elementHeight) / 2 + 2);
}

@elementHeightは画像の高さに設定する必要があります。

パディングの計算はTwitter Bootstrap LESSから取得されます- https://github.com/Twitter/bootstrap/blob/v2.0.4/less/navbar.less#L51-52

または、パディング値を自分で計算して、純粋なCSSを使用することもできます。

これはTwitter Bootstrapバージョン2.0.xで機能しますが、2.1でも機能するはずですが、パディング計算が少し変更されました: https://github.com/Twitter/bootstrap/blob/v2 .1.0/less/navbar.less#L5

13
jana4u

私はbootstrap 3.2.0のnavbarにこのコードを使用します。画像の高さは最大50pxである必要があります。

画像にパディングを導入するため、意図的にclass = 'navbar-brand'を使用しないことに注意してください。

<div class="navbar navbar-default navbar-fixed-top" role="navigation">
    <div class="container">
    <!-- Brand and toggle get grouped for better mobile display -->
    <div class="navbar-header">
      <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-ex1-collapse">
        <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="" href="/"><img src='img/anyWidthx50.png'/></a>
    </div>

    <!-- Collect the nav links, forms, and other content for toggling -->
    <div class="collapse navbar-collapse navbar-ex1-collapse">
       <ul class="nav navbar-nav">
        <li class="active"><a href="#">Active Link</a></li>
        <li><a href="#">More Links</a></li>
      </ul>
    </div><!-- /.navbar-collapse -->
  </div>
</div>
4
Greg

Navbarの高さを上げない場合。

 .navbar .brand {
 position: fixed;    
 overflow: visible;
 padding-left: 0;    
 padding-top: 0;
 }

http://jsfiddle.net/petrfox/S84wP/ を参照してください

3
Fox