महत्वपूर्ण अद्यतन: 12/21/15
वर्तमान में मोज़िला में एक बग है जो मुझे पता चला है कि इस पृष्ठ पर मैमी डेमोस के साथ कुछ ब्राउज़र चौड़ाई पर नेवबार को तोड़ता है । मूल रूप से मोज़िला बग, छवि चौड़ाई के हिस्से के रूप में नेवबर ब्रांड लिंक पर बाएँ और दाएँ पैडिंग सहित है। हालाँकि, यह आसानी से तय किया जा सकता है और मैंने इसका परीक्षण किया है और मुझे पूरा यकीन है कि यह इस पृष्ठ पर सबसे स्थिर कार्य उदाहरण है। यह स्वचालित रूप से आकार बदल जाएगा और सभी ब्राउज़रों पर काम करेगा।
बस इसे अपने सीएसएस में जोड़ें और आप जिस तरह से करेंगे उसी तरह से नेवबर-ब्रांड का उपयोग करें .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;
}
मूल ANSWER BELOW (केवल संदर्भ के लिए)
लोग ऑब्जेक्ट-फिट के बारे में भूलने लगते हैं। व्यक्तिगत रूप से मुझे लगता है कि इसके साथ काम करना सबसे आसान है क्योंकि छवि स्वचालित रूप से मेनू आकार में समायोजित हो जाती है। यदि आप छवि पर ऑब्जेक्ट फिट का उपयोग करते हैं तो यह मेनू ऊंचाई पर ऑटो आकार देगा।
.navbar-brand > img {
max-height: 100%;
height: 100%;
-o-object-fit: contain;
object-fit: contain;
}
यह इंगित किया गया था कि यह IE में काम नहीं करता है "अभी तक"। एक पॉलीफ़िल है , लेकिन अगर आप इसे किसी और चीज़ के लिए इस्तेमाल करने की योजना नहीं बनाते हैं तो यह अत्यधिक हो सकता है। ऐसा लगता है कि IE के भविष्य के रिलीज के लिए ऑब्जेक्ट-फिट की योजना बनाई जा रही है ताकि एक बार ऐसा हो जाए कि यह सभी ब्राउज़रों में काम करेगा।
हालाँकि, यदि आप बूटस्ट्रैप में .img- उत्तरदायी वर्ग को नोटिस करते हैं, तो अधिकतम-चौड़ाई यह मान रही है कि आप इन चित्रों को स्तंभों या किसी ऐसी चीज़ में लगा रहे हैं, जिसमें सेट के साथ स्पष्टता है। इसका मतलब यह होगा कि 100% विशेष रूप से मूल तत्व की 100% चौड़ाई का मतलब है।
.img-responsive
max-width: 100%;
height: auto;
}
नौसर के साथ हम इसका उपयोग नहीं कर सकते क्योंकि माता-पिता (.navbar- ब्रांड) की ऊंचाई 50px है, लेकिन चौड़ाई निर्धारित नहीं है।
यदि हम उस तर्क को लेते हैं और उसे प्रासंगिकता के आधार पर उलट देते हैं, तो हम एक उत्तरदायी छवि रख सकते हैं जो कि .navbar- ब्रांड की ऊँचाई तक पहुँच जाती है और जोड़कर और ऑटो सेट की चौड़ाई के अनुपात में समायोजित हो जाती है।
max-height: 100%;
width: auto;
आमतौर पर हमें display:block;
परिदृश्य में जोड़ना होगा , लेकिन चूंकि नेवबर-ब्रांड में पहले से ही फ्लोट है: बाएं; उस पर लागू, यह स्वचालित रूप से एक ब्लॉक तत्व के रूप में कार्य करता है।
आप उस दुर्लभ स्थिति में भाग सकते हैं जहाँ आपका लोगो बहुत छोटा है। Img- उत्तरदायी दृष्टिकोण इसे ध्यान में नहीं रखता है, लेकिन हम करेंगे। आपको "ऊँचाई" विशेषता जोड़कर .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" />
: समायोजित करें