आप प्रारंभ में पेपर को उसी आयाम के रूप में सेट कर सकते हैं क्योंकि इसमें शामिल है आईएनजी तत्व, लेकिन जब पेपर बनाया जाता है तो शुरुआत में इसकी गणना की जाती है। यदि आप अपने ब्राउज़र का आकार बदलते समय आकार बदलने के लिए पेपर बनाना चाहते हैं, तो आपको ईवेंट का आकार बदलने के लिए प्रतिक्रिया करने की आवश्यकता होगी।
सबसे पहले, आपको अपने कंटेनर पर छिपाने के लिए अतिप्रवाह सेट करना होगा, अन्यथा इसके आयाम अपने बच्चे को फिट करने के लिए फैले होंगे, और यदि आप ब्राउज़र को छोटा करते हैं तो यह कम नहीं होगा।
#modelCanvas {
overflow: hidden;
}
आप सुनिश्चित करें कि आपके #modelCanvas
तत्व कुछ विधि द्वारा उपलब्ध स्थान को भरने के लिए विस्तृत होंगी, या तो स्थापित करने height: 100%
(स्थितियों में, जहां कि काम करेंगे में) या flexbox या निरपेक्ष स्थिति का उपयोग कर बनाने के लिए होगा।
दूसरे, आप एक आकार बदलने ईवेंट हैंडलर
$(window).resize(function() {
var canvas = $('#modelCanvas');
paper.setDimensions(canvas.width(), canvas.height());
});
'$ ('# modelCanvas') चौड़ाई() की आवश्यकता होगी।' मेरे मामले में 0 के बराबर है। इसके लिए किसी की मदद करता है। – Neil
सबसे अच्छा जवाब नहीं है क्योंकि यह वास्तव में उत्तरदायी नहीं है (यानी यह लैंडस्केप से पोर्ट्रेट तक फ़ेबल को बदलने में मदद नहीं करेगा) क्योंकि मीडिया ब्रेक पॉइंट बदलना प्रारंभिक लोड पेपर अपडेट नहीं करेगा। स्पूनमेइज़र का उत्तर बोले बेहतर है क्योंकि इसमें जावास्क्रिप्ट समर्थन शामिल है ताकि यह वास्तव में उत्तरदायी हो। – user1158023