मेरे पास आपके लिए 2 तरीके हैं।
यह विधि छवि का आकार केवल DOM में वास्तविक आयाम नहीं है, और मूल आकार के मध्य में आकार बदलने के बाद दृश्य स्थिति है।
एचटीएमएल:
<img class="fake" src="example.png" />
सीएसएस:
img {
-webkit-transform: scale(0.5); /* Saf3.1+, Chrome */
-moz-transform: scale(0.5); /* FF3.5+ */
-ms-transform: scale(0.5); /* IE9 */
-o-transform: scale(0.5); /* Opera 10.5+ */
transform: scale(0.5);
/* IE6–IE9 */
filter: progid:DXImageTransform.Microsoft.Matrix(M11=0.9999619230641713, M12=-0.008726535498373935, M21=0.008726535498373935, M22=0.9999619230641713,SizingMethod='auto expand');
}
ब्राउज़र समर्थन नोट: ब्राउज़र आँकड़े इनलाइन दिखाया गया हैcss
।
एचटीएमएल:
<div id="wrap">
<img class="fake" src="example.png" />
<div id="img_wrap">
<img class="normal" src="example.png" />
</div>
</div>
सीएसएस:
#wrap {
overflow: hidden;
position: relative;
float: left;
}
#wrap img.fake {
float: left;
visibility: hidden;
width: auto;
}
#img_wrap {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
}
#img_wrap img.normal {
width: 50%;
}
नोट: img.normal
औरimg.fake
एक ही छवि है।
ब्राउज़र समर्थन नोट: यह विधि सभी ब्राउज़रों में काम करेगी, क्योंकि सभी ब्राउज़रcss
विधि में प्रयुक्त गुणों कासमर्थन करतेहैं।
विधि इस तरह से काम करती है:
#wrap
और #wrap img.fake
प्रवाह है
#wrap
है overflow: hidden
ताकि उसके आयाम भीतरी छवि के समान हैं ( img.fake
)
img.fake
स्थिति के #wrap
बिना अंदर एकमात्र तत्व है absolute
ताकि यह दूसरे चरण को न तोड़े
#img_wrap
है absolute
स्थिति के अंदर #wrap
और संपूर्ण तत्व आकार में फैली हुई है ( #wrap
)
- चौथे चरण का परिणाम यह है कि
#img_wrap
छवि के समान आयाम हैं।
- की स्थापना करके
width: 50%
पर img.normal
, इसका आकार है 50%
की #img_wrap
है, और इसलिए 50%
मूल छवि आकार की।
width: <number>%
। मुझे नहीं लगता कि ऐसा करने का कोई तरीका है!