आपको इसके लिए जावास्क्रिप्ट की आवश्यकता नहीं है। आप शुद्ध सीएसएस का उपयोग कर सकते हैं।
एक पैडिंग-टॉप प्रतिशत समेत ब्लॉक चौड़ाई के सापेक्ष व्याख्या किया गया है। इसे स्थिति के साथ संयोजित करें: एक बच्चे तत्व पर पूर्ण, और आप एक बॉक्स में बहुत कुछ डाल सकते हैं जो इसके पहलू अनुपात को बरकरार रखता है।
HTML:
<div class="aspectwrapper">
<div class="content">
</div>
</div>
सीएसएस:
.aspectwrapper {
display: inline-block; /* shrink to fit */
width: 100%; /* whatever width you like */
position: relative; /* so .content can use position: absolute */
}
.aspectwrapper::after {
padding-top: 56.25%; /* percentage of containing block _width_ */
display: block;
content: '';
}
.content {
position: absolute;
top: 0; bottom: 0; right: 0; left: 0; /* follow the parent's edges */
outline: thin dashed green; /* just so you can see the box */
}
display: inline-block
.aspectwrapper
बॉक्स के नीचे बढ़त के नीचे एक छोटे अतिरिक्त स्थान छोड़ देता है, तो यह नीचे एक और तत्व इसके खिलाफ फ्लश नहीं चलेंगे । display: block
का उपयोग करना इससे छुटकारा पा जाएगा।
टिप के लिए this post पर धन्यवाद!
एक और दृष्टिकोण इस तथ्य पर निर्भर करता है कि ब्राउज़र छवि की पहलू अनुपात का सम्मान करते हैं जब आप केवल इसकी चौड़ाई या ऊंचाई का आकार बदलते हैं।
<div class="aspectwrapper">
<img class="aspectspacer" src="http://chart.googleapis.com/chart?cht=p3&chs=160x90" />
<div class="content">
</div>
</div>
सीएसएस:
.aspectwrapper {
width: 100%;
position: relative;
}
.aspectspacer {
width: 100%; /* let the enlarged image height push .aspectwrapper's bottom edge */
}
.content {
position: absolute;
top: 0; bottom: 0; right: 0; left: 0;
outline: thin dashed green;
}
स्रोत
2012-03-24 20:24:55
मैं प्रदान की
एचटीएमएल (मैं गूगल प्रदर्शन के उद्देश्य से एक 16x9 पारदर्शी छवि उत्पन्न दूँगा, लेकिन व्यवहार में आप अपने खुद के स्थिर छवि का प्रयोग करेंगे।) इसके लिए समाधान: http: // stackoverflow।कॉम/प्रश्न/643500/एचटीएमएल-यानी-खिंचाव-छवि-से-फिट-संरक्षित-पहलू अनुपात/1 9 3 9 4848 9 # 1 9 3 9 48 9 – tommybananas
क्या आप नीचे एक उत्तर स्वीकार कर सकते हैं? एक शर्म की बात है कुछ बहुत अच्छे जवाब अस्वीकृत – gillytech
इस प्रश्न के उत्तर में से कोई भी वांछित परिणाम प्राप्त नहीं करता है। पहलू अनुपात को संरक्षित करना मामूली है लेकिन इसे सही पहलू अनुपात के रूप में प्राप्त करना और हमेशा दोनों दिशाओं में देखने योग्य क्षेत्र से फिट या छोटा होना अधिक कठिन है। – atomless