इसके लिए एक CSS3 संपत्ति है, जिसका नाम है background-size
( संगतता जांच )। जबकि कोई लंबाई मान सेट कर सकता है, इसका उपयोग आमतौर पर विशेष मूल्यों contain
और के साथ किया जाता है cover
। आपके विशिष्ट मामले में, आपको उपयोग करना चाहिए cover
:
body {
background-image: url(images/background.svg);
background-size: cover; /* <------ */
background-repeat: no-repeat;
background-position: center center; /* optional, center the image */
}
के लिए Eggsplanation contain
औरcover
बुरी सजा के लिए खेद है, लेकिन मैं प्रदर्शन के लिए बिस्वरुप गांगुली द्वारा दिन की तस्वीर का उपयोग करने जा रहा हूं । आओ हम कहते हैं कि यह आपकी स्क्रीन है, और ग्रे क्षेत्र आपकी दृश्यमान स्क्रीन के बाहर है। प्रदर्शन के लिए, मैं 16x9 अनुपात मानूंगा।
हम पृष्ठभूमि के रूप में दिन के उपरोक्त चित्र का उपयोग करना चाहते हैं। हालाँकि, हमने किसी कारण से छवि को 4x3 पर क्रॉप कर दिया। हम background-size
संपत्ति को कुछ निश्चित लंबाई में सेट कर सकते हैं, लेकिन हम contain
और पर ध्यान केंद्रित करेंगे cover
। ध्यान दें कि मैं यह भी मानता हूं कि हमने चौड़ाई और / या की ऊँचाई को कम नहीं किया है body
।
contain
contain
छवि को स्केल करें, जबकि इसके आंतरिक पहलू अनुपात (यदि कोई हो) को संरक्षित करते हुए, सबसे बड़े आकार तक, जैसे कि इसकी चौड़ाई और इसकी ऊंचाई दोनों पृष्ठभूमि स्थिति क्षेत्र के अंदर फिट हो सकते हैं।
यह सुनिश्चित करता है कि पृष्ठभूमि की छवि हमेशा पृष्ठभूमि स्थिति क्षेत्र में पूरी तरह से निहित है, हालांकि, background-color
इस मामले में आपके साथ कुछ खाली जगह भरी जा सकती है :
cover
cover
छवि को स्केल करें, जबकि इसके आंतरिक पहलू अनुपात (यदि कोई हो) को संरक्षित करते हुए, सबसे छोटे आकार के लिए, ताकि इसकी चौड़ाई और इसकी ऊंचाई दोनों पूरी तरह से पृष्ठभूमि की स्थिति को कवर कर सकें।
यह सुनिश्चित करता है कि पृष्ठभूमि छवि सब कुछ कवर कर रही है। कोई दृश्य नहीं होगा background-color
, हालांकि स्क्रीन के अनुपात के आधार पर आपकी छवि का एक बड़ा हिस्सा कट सकता है:
वास्तविक कोड के साथ प्रदर्शन
div > div {
background-image: url(http://i.stack.imgur.com/r5CAq.jpg);
background-repeat: no-repeat;
background-position: center center;
background-color: #ccc;
border: 1px solid;
width: 20em;
height: 10em;
}
div.contain {
background-size: contain;
}
div.cover {
background-size: cover;
}
/********************************************
Additional styles for the explanation boxes
*********************************************/
div > div {
margin: 0 1ex 1ex 0;
float: left;
}
div + div {
clear: both;
border-top: 1px dashed silver;
padding-top:1ex;
}
div > div::after {
background-color: #000;
color: #fefefe;
margin: 1ex;
padding: 1ex;
opacity: 0.8;
display: block;
width: 10ex;
font-size: 0.7em;
content: attr(class);
}
<div>
<div class="contain"></div>
<p>Note the grey background. The image does not cover the whole region, but it's fully <em>contained</em>.
</p>
</div>
<div>
<div class="cover"></div>
<p>Note the ducks/geese at the bottom of the image. Most of the water is cut, as well as a part of the sky. You don't see the complete image anymore, but neither do you see any background color; the image <em>covers</em> all of the <code><div></code>.</p>
</div>
html, body { height: 100%; }
मदद करता है? इसके अलावा, खांसी ।