नई सीएसएस सुविधा object-fit
का उपयोग करते समय, ब्राउज़र द्वारा जावास्क्रिप्ट द्वारा चुने गए परिणामी आयामों को मैं कैसे एक्सेस कर सकता हूं?ऑब्जेक्ट-फिट: परिणामी आयाम प्राप्त करें
तो मान लीजिए foo.jpg
100x200 पिक्सेल है। ब्राउजर पेज/व्यूपोर्ट 400 पीएक्स चौड़ा और 300 पीएक्स उच्च है।
img.foo {
width: 100%;
height: 100%;
object-fit: contain;
object-position: 25% 0;
}
ब्राउज़र अब सही पहलू राशन बाएं से दूसरी तिमाही पर बहुत नीचे करने के लिए खींच के साथ बहुत शीर्ष पर छवि दिखाएगा: फिर इस सीएसएस कोड दिया। यह उन छवि आयाम में जो परिणाम:
- चौड़ाई: 150px
- ऊंचाई: 300px
- बाईं: 62.5px
- सही: 212.5px
तो क्या JavaScript कॉल (jQuery की अनुमति दी) क्या मुझे उन नंबरों को मैन्युअल रूप से गणना की जाएगी? (नोट: सीएसएस जानकारी खुद को JavaScript द्वारा नहीं जाना जाता है उपयोगकर्ता उन्हें अधिलेखित सकता है और यहां तक कि min-width
की तरह सामान जोड़ने)
कोड मैं एक बेला बना लिया है के साथ खेलने के लिए: https://jsfiddle.net/sydeo244/
यदि आप '$ ('img.foo') का उपयोग करते हैं। outerWidth() 'आप elemen की कुल गणना की चौड़ाई प्राप्त करेंगे टी। यह स्पष्ट नहीं है कि आप क्या पूछ रहे हैं –
नहीं, 'बाहरी विड्थ()' इस मामले में काम नहीं करता है क्योंकि इसके परिणामस्वरूप "पूर्ण" छवि की चौड़ाई होगी - इसलिए यह 'चौड़ाई के कारण' 400' वापस आ जाएगी: 100% वांछित के रूप में '150' नहीं। – Chris
कोई विशेष संपत्ति नहीं है जो आपको वह मूल्य देगी, आपको 'img' तत्व के जेनरेट आकार का उपयोग करने की आवश्यकता है और फिर इसके पहलू अनुपात प्राप्त करने के लिए गुणों को 'प्राकृतिकविड्थ'/'प्राकृतिक हाइट' का उपयोग करें और उसके बाद इसकी गणना करें आकार (आपने मैन्युअल रूप से बहुत कुछ किया)। – LGSon