これが私の解決策であり、Chrome、Firefox、および Internet Explorer の 3 つの主要なブラウザーすべてで自分のサイトでテストしました。
まず、テキスト ベースのロゴを使用していない場合は、「navbar-brand」を完全に削除します。この特定のクラスが、折りたたまれたナビゲーション メニューが 2 倍になる主な原因であることがわかったからです。
私を正しい方向に導いてくれたuser3137032に叫びます。
カスタムのレスポンシブ イメージ コンテナを作成する必要があります。私は「ロゴ」と呼んでいます。
ブートストラップ HTML マークアップは次のとおりです。
<div class="navbar navbar-inverse navbar-fixed-top" role="navigation">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target=".navbar-collapse">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a href="@Url.Action(" Index ", "Home ")" class="logo"><img src="~/resources/images/Logo_Concept.png" /></a>
</div>
<div class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<li>
<a href="@Url.Action(" About ", "Home ")">
<i class="glyphicon glyphicon-info-sign"></i> About
</a>
</li>
<li>
<a href="@Url.Action(" Contact ", "Home ")">
<i class="glyphicon glyphicon-phone"></i> Contact
</a>
</li>
<li>
<a href="@Url.Action(" Index ", "Products ")">
<i class="glyphicon glyphicon-tag"></i> Products
</a>
</li>
</ul>
</div>
</div>
</div>
そしてCSSコード:
.logo img {
width: 100% \9; /*Force IE10 and below to size SVG images correctly*/
max-width: 100%;
}
@media (max-width:480px) {
.logo img {
width: 70% \9; /*Force IE10 and below to size SVG images correctly*/
max-width: 70% !important;
}
}
@media (max-width:400px) {
.logo img {
width: 75% \9; /*Force IE10 and below to size SVG images correctly*/
max-width: 75%;
}
}
@media (max-width:385px) {
.logo img {
width: 70% \9; /*Force IE10 and below to size SVG images correctly*/
max-width: 70%;
}
}
@media (max-width:345px) {
.logo img {
width: 65% \9; /*Force IE10 and below to size SVG images correctly*/
max-width: 65%;
}
}
@media (max-width:335px) {
.logo img {
width: 60% \9; /*Force IE10 and below to size SVG images correctly*/
max-width: 60%;
}
}
@media (max-width:325px) {
.logo img {
width: 55% \9; /*Force IE10 and below to size SVG images correctly*/
max-width: 55%;
}
}
@media (max-width:315px) {
.logo img {
width: 50% \9; /*Force IE10 and below to size SVG images correctly*/
max-width: 50%;
}
}
@media (max-width: x) の値は、ロゴ画像の幅によって異なる場合があります。私の場合は 368px です。ロゴのサイズによっては、パーセンテージも変更する必要がある場合があります。最初の @media クエリはしきい値で、私のものは画像の幅 (368px) + 折りたたまれたボタンのサイズ (44px) + 約 60px で、レスポンシブ画像のスケーリングを開始する場所である 480px になりました。
HTML 部分からかみそりの構文を必ず削除してください。それがあなたの問題を解決するかどうか私に知らせてください、それは私のものを修正しました。
編集:申し訳ありませんが、ナビゲーションバーの高さの問題を見逃しました. これにはいくつかの方法があります。個人的には、Bootstrap LESS を適切な navbar の高さでコンパイルします。私の目的では 70px を使用し、画像の高さは 68 px です。2 つ目の方法は、bootstrap.css ファイル自体で「.navbar」を検索し、min-height: をロゴの高さに変更することです。