重要な更新:2015年12月21日
現在、Mozillaには、このページの多くのデモで特定のブラウザ幅のナビゲーションバーが機能しないというバグがあります。基本的に、mozillaのバグは、画像幅の一部としてnavbarブランドリンクの左右のパディングを含みます。ただし、これは簡単に修正でき、私はこれをテストしましたが、このページで最も安定した動作例であると確信しています。自動的にサイズ変更され、すべてのブラウザで機能します。
これをcssに追加して、navbar-brandを同じ方法で使用してください.img-responsive
。あなたのロゴは自動的に収まります
.navbar-brand {
padding: 0px; /* firefox bug fix */
}
.navbar-brand>img {
height: 100%;
padding: 15px; /* firefox bug fix */
width: auto;
}
別のオプションは、背景画像を使用することです。任意のサイズの画像を使用し、必要な幅を設定するだけです。
.navbar-brand {
background: url(http://disputebills.com/site/uploads/2015/10/dispute.png) center / contain no-repeat;
width: 200px;
}
以下の元の回答(参照のみ)
人々はオブジェクトフィットについて多くのことを忘れているようです。個人的には、画像がメニューのサイズに自動的に調整されるため、最も扱いやすい方法だと思います。画像にオブジェクトフィットを使用するだけの場合、メニューの高さに合わせて自動的にサイズ変更されます。
.navbar-brand > img {
max-height: 100%;
height: 100%;
-o-object-fit: contain;
object-fit: contain;
}
これはIEで「まだ」機能しないことが指摘されました。ポリフィルがありますが、それ以外の用途に使用する予定がない場合は、多すぎる可能性があります。IEの将来のリリースではobject-fitが計画されているようです。そのため、これが発生すると、すべてのブラウザーで機能します。
ただし、ブートストラップの.img-sensitiveクラスに気付いた場合、max-widthはこれらのイメージを列または明示的なsetを持つものに配置することを想定しています。つまり、100%は特に親要素の100%の幅を意味します。
.img-responsive
max-width: 100%;
height: auto;
}
これをnavbarで使用できない理由は、親(.navbar-brand)の高さが50pxに固定されているが、幅が設定されていないためです。
そのロジックを取り、高さに基づいて反応するように反転させると、.navbar-brandの高さに合わせて反応する画像を作成でき、幅を追加して自動設定することにより、比率に合わせて調整されます。
max-height: 100%;
width: auto;
通常はdisplay:block;
シナリオに追加する必要がありますが、navbar-brandにはすでにfloat:leftがあるためです。適用すると、自動的にブロック要素として機能します。
ロゴが小さすぎるというまれな状況に遭遇する場合があります。imgレスポンシブアプローチではこれは考慮されませんが、考慮されます。また、「height」属性を追加することで、.navbar-brand > img
拡大と縮小の両方を確実に行うことができます。
max-height: 100%;
height: 100%;
width: auto;
したがって、これを完了するには、両方を組み合わせて、すべてのブラウザで完全に機能するようです。
<style type="text/css">
.navbar-brand>img {
max-height: 100%;
height: 100%;
width: auto;
margin: 0 auto;
/* probably not needed anymore, but doesn't hurt */
-o-object-fit: contain;
object-fit: contain;
}
</style>
<nav class="navbar navbar-default">
<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>
<a class="navbar-brand" href="http://disputebills.com"><img src="http://disputebills.com/site/uploads/2015/10/dispute.png" alt="Dispute Bills"></a>
</div>
<div id="navbar" class="collapse navbar-collapse">
<ul class="nav navbar-nav">
<li class="active"><a href="#">Home</a></li>
<li><a href="#about">About</a></li>
<li><a href="#contact">Contact</a></li>
</ul>
</div>
</div>
</nav>
<img src="logo.png" width="27px" />
:調整