ÖNEMLİ GÜNCELLEME: 12/21/15
Şu anda Mozilla'da , BU SAYFADAKİ BİRÇOK DEMOS ile belirli tarayıcı genişliklerinde gezinme çubuğunu kıran bir hata var . Temel olarak mozilla böceği, görüntü genişliğinin bir parçası olarak navbar marka bağlantısında sol ve sağ dolgu içerir. Ancak, bu kolayca düzeltilebilir ve bunu test ettim ve bu sayfadaki en kararlı çalışma örneği olduğundan oldukça eminim. Otomatik olarak yeniden boyutlandırılır ve tüm tarayıcılarda çalışır.
Bunu css'nize ekleyin ve navbar markasını kullandığınız gibi kullanın .img-responsive
. Logonuz otomatik olarak sığacak
.navbar-brand {
padding: 0px; /* firefox bug fix */
}
.navbar-brand>img {
height: 100%;
padding: 15px; /* firefox bug fix */
width: auto;
}
Başka bir seçenek de arka plan görüntüsü kullanmaktır. Herhangi bir boyutta bir görüntü kullanın ve sonra istediğiniz genişliği ayarlayın:
.navbar-brand {
background: url(http://disputebills.com/site/uploads/2015/10/dispute.png) center / contain no-repeat;
width: 200px;
}
AŞAĞIDAKİ ORİJİNAL CEVAP (sadece referans içindir)
İnsanlar nesneye uymayı çok unutuyor gibi görünüyor. Kişisel olarak bunun en kolayı olduğunu düşünüyorum çünkü görüntü otomatik olarak menü boyutuna göre ayarlanıyor. Görüntü üzerinde yalnızca nesne sığdırma özelliğini kullanırsanız, menülerin yüksekliğine otomatik olarak yeniden boyutlandırılır.
.navbar-brand > img {
max-height: 100%;
height: 100%;
-o-object-fit: contain;
object-fit: contain;
}
Bunun IE'de "henüz" çalışmadığı belirtildi. Bir çoklu dolgu var , ancak başka bir şey için kullanmayı planlamıyorsanız bu aşırı olabilir. Nesne sığdırma IE'nin gelecekteki bir sürümü için planlanıyor gibi görünüyor, böylece bir kez bu tüm tarayıcılarda çalışır.
Ancak, bootstrap içindeki .img-Responsive sınıfını fark ederseniz, max-width bu görüntüleri sütunlara veya set ile açık olan bir şeye koyduğunuzu varsayar. Bu,% 100'ün spesifik olarak ana elemanın% 100 genişliği anlamına geldiği anlamına gelir.
.img-responsive
max-width: 100%;
height: auto;
}
Bunu navbar ile kullanamamamızın nedeni, üst öğenin (.navbar-brand) sabit yüksekliğinin 50 piksel olması, ancak genişliğin ayarlanmamış olmasıdır.
Eğer bu mantığı alıp yüksekliğe göre duyarlı olacak şekilde tersine çevirirsek, .navbar marka yüksekliğine ölçeklenen duyarlı bir görüntüye sahip olabilir ve genişliği ekleyip otomatik olarak ayarlayarak orantıya göre ayarlanır.
max-height: 100%;
width: auto;
Genellikle display:block;
senaryoya eklememiz gerekir, ancak navbar markasının halihazırda yüzdüğü için: sol; uygulandığında, otomatik olarak bir blok elemanı görevi görür.
Logonuzun çok küçük olduğu nadir durumlarla karşılaşabilirsiniz. IMG'ye duyarlı yaklaşım bunu dikkate almaz, ama yapacağız. Ayrıca, "height" niteliğini ekleyerek, .navbar-brand > img
aşağı ve yukarı ölçekleneceğinden emin olabilirsiniz.
max-height: 100%;
height: 100%;
width: auto;
Bunu tamamlamak için ikisini bir araya getirdim ve tüm tarayıcılarda mükemmel çalışıyor gibi görünüyor.
<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" />
: ayarlama