2012-10-18 8 views
5

मैं थोड़ी देर के लिए googling रहा है, लेकिन अभी भी नहीं मिल सका क्यों
$(document.body).height() से अलग है?

और क्या है, क्या कोई मुझे jQuery विधियों और कच्चे जावास्क्रिप्ट वाले ऊंचाई विधियों
के बीच संबंधित संबंध बता सकता है?

उदाहरण के लिए, $(document).height()document.documentElement.scrollHeight के बराबर है।

+0

शरीर का प्रयास करें {मार्जिन: 0; पैडिंग: 0;} और फिर ऊंचाई –

उत्तर

4

क्योंकि अपने HTML में <body> तत्व सिर्फ एक और ब्लॉक तत्व (ज्यादा एक <div>) की तरह है, और किसी भी ब्लॉक तत्व के रूप में, यह आयामी स्टाइल हो सकता है (margin, padding, width, height, आदि)।

ध्यान में रखते हुए, <body> तत्व के "आकार" को document ऑब्जेक्ट के आकार से सीधे मेल करने की आवश्यकता नहीं है (जो आपके संपूर्ण HTML दस्तावेज़ को पूरी तरह से प्रस्तुत किया गया है)। एक अच्छा कारण यह है कि <body> तत्व भी <html> तत्व के अंदर है, जो भी एक ब्लॉक तत्व है, और इसके अपने संबंधित आयाम हो सकते हैं।

यदि आपका <html> तत्व, उदाहरण के लिए, था, तो अपने <body> तत्व निश्चित रूप से प्रभावी आकार में पूरी document पूरी तरह से करने के लिए अलग होगा।

अब, मुझे गलत नहीं मिलता है: document और document.bodyकर सकते हैं ठीक उसी आकार (जाँच StackOverflow के उदाहरण के लिए कोशिश) है, लेकिन आप यह समझना होगा कि <body> सिर्फ एक और एचटीएमएल ब्लॉक आप सीएसएस के माध्यम से फेरबदल कर सकते हैं है।

+0

हाय, इलगन, आपके उत्तर के अनुसार, आपको लगता है कि अगर हम ब्राउज़र मानक सीएसएस (एचटीएमएल, बॉडी {मार्जिन: 0; पैडिंग: 0;}) को रीसेट करते हैं, तो हम क्लाइंट हाइट, ऑफसेट हाइट और स्क्रोल हाइट सहित समान ऊंचाई प्राप्त करेंगे? बीटीडब्ल्यू: मैंने कुछ परीक्षण किए हैं, परिणाम इस तरह नहीं थे। –

+0

यदि आप वापस 'एचटीएमएल, बॉडी {मार्जिन: 0; गद्दी: 0; } ', ** और ** सुनिश्चित करें कि आपकी 'चौड़ाई और ऊंचाई' ठीक से सेट की गई हैं, आपको यह करना चाहिए। यह सिर्फ मार्जिन और पैडिंग के बारे में नहीं है। सुनिश्चित करें कि आप कुछ अन्य स्टाइलशीट के नीचे कहीं भी अपने रीसेट नियम * ओवरराइड नहीं कर रहे हैं। –

0

मुझे लगता है कि शरीर का मानक मार्जिन है। दूसरे भाग के लिए, मेरा कोई मतलब नहीं है कि आपका क्या मतलब है।

+0

युप की जांच करें, मुझे लगता है कि मानक मार्जिन उन कारणों में से एक है जो उन दोनों को एक-दूसरे से अलग करते हैं, लेकिन वहां कुछ अन्य कारण होना चाहिए। वैसे भी, आपकी मदद के लिए thx। –

संबंधित मुद्दे