2014-12-23 7 views
19

का उपयोग कर बनाम मेरे भाई और मैं पहले से ही गड़बड़ कर रहे थे और अचानक उन्होंने चिल्लाया, "मैंने कुछ नया सीखा!"स्टाइलिंग एचटीएमएल और बॉडी चयनकर्ता ऊंचाई: 100%; 100vh

थोड़ा चौंक गया, मैंने पूछा, "वह क्या है ..?"

उसने जवाब दिया, "व्यूपोर्ट ऊंचाई! मैंने आईई 6 में शुरू किया जब यह पूरी तरह से समर्थित नहीं था और कभी भी इसे फिर से नहीं देखा।" फिर उसने मुझे दिखाने के लिए आगे बढ़े।

जिस पर मैंने जवाब दिया, "मैंने यहां वही काम पूरा किया।" और उसे एक और सैंडबॉक्स प्रोजेक्ट दिखाया जिसके साथ मैंने गड़बड़ी की।

मेरी परियोजना में, सीएसएस में, मैं

लिखा

(संपादित करें: मैं, नहीं HTML या शरीर, मेरी गलती div में पृष्ठभूमि रंग डालने के लिए संपादित)

(jsfiddle http://jsfiddle.net/nvLq8eg9/embedded/result/)

html, body { 
    height: 100%; 
} 

div { 
    height: 100%; 
    background: green; 
} 

अपने कोड, है (jsfiddle http://jsfiddle.net/nvLq8eg9/1/embedded/result/)

div { 
    height: 100vh; 
    background: green; 
} 

दोनों ने वही काम किया था। यहां कुछ शोध करने के बाद, ऐसा प्रतीत होता है कि सामान्य विधि के माध्यम से जारी करने में आमतौर पर चलाने के लिए स्क्रॉल करने में असमर्थता होती है; हालांकि, मेरे सैंडबॉक्स प्रोजेक्ट पर मुझे इसमें अधिक सामग्री थी और सामान्य रूप से वेबसाइट से स्क्रॉल और बातचीत करने में सक्षम था।

हम में से कोई भी यह निर्धारित करने में सक्षम नहीं था कि दोनों तरीकों के बीच मतभेद क्या थे। क्या यहां कोई भी हमें शिक्षित करने में सक्षम होगा?

धन्यवाद! व्यूपोर्ट ऊंचाई की

+3

उत्तरार्द्ध का एक बड़ा लाभ: प्रतिशत में ऊंचाई को मूल तत्व पर ऊंचाई सेट की आवश्यकता होती है, जबकि 'vh' नहीं है, इसलिए आप इसे "हर जगह" का उपयोग कर सकते हैं, यहां तक ​​कि माता-पिता के भीतर की रेखा को और भी नीचे तत्व जिसमें ऊंचाई सेट नहीं है या अलग ऊंचाई है। – CBroe

+0

@ मेद्री: क्या आपने यह आलेख देखा था? http://www.weareconvoy.com/2014/07/css-vw-and-vh-units-are-they-worth-using-yet/ – Grafica

+0

@CBroe धन्यवाद! हमने निश्चित रूप से इसे अनदेखा किया। मैंने व्यक्तिगत रूप से माना कि चूंकि दस्तावेज़ के एचटीएमएल और बॉडी तत्व प्राथमिक माता-पिता होंगे, क्योंकि उनकी ऊंचाई पहले ही 100% पर सेट हो गई है, इससे कोई भी नया तत्व जोड़ा नहीं जाएगा। ऐसा लगता है जैसे वीएच सार्वभौमिक पकड़ के बजाय अधिक विशिष्ट स्टाइल के लिए अनुमति देता है। – Medri

उत्तर

27

height: 100vh = 100% माता पिता के तत्व ऊंचाई की

height: 100% = 100%

है यही कारण है कि आप के रूप में वे एक आकार नहीं है, html और body पर height: 100% जोड़ने की जरूरत डिफ़ॉल्ट

कुछ से आप को पता करने के लिए है: यदि आप खड़ी मार्जिन या पैडिंग के लिए% का उपयोग करें,% पेरेंट तत्व, नहीं ऊंचाई की चौड़ाई पर गणना की जाएगी।

युक्ति: font-size: calc(.5vh + .5vw); (उदाहरण के लिए)

सीएसएस इकाइयों के लिए यहाँ एक अच्छा पेज देखें:: :) मैं इस एक (कुछ ब्राउज़रों मैं जानता हूँ कि में समर्थित नहीं) चाहते फ़ॉन्ट आकार के लिए VH और VW इकाइयों का उपयोग करके देखें http://css-tricks.com/the-lengths-of-css/

+0

क्या आपका मतलब था "यही कारण है कि आपको' html' और 'body'" पर ऊंचाई: 100vh जोड़ने की आवश्यकता है? अन्यथा मुझे लगता है कि यह एक अनिर्धारित संख्या का 100% है। – user14717

+0

@ निकटॉम्पसन नहीं मेरा मतलब 100% था। मैं यह जानने का प्रयास कर रहा हूं कि क्यों, लेकिन एचटीएमएल जानता है कि मूल्य कहां मिलना है। [यह अन्य प्रश्न] देखें (http://stackoverflow.com/questions/6654958/make-body-have-100-of-the-browser-height) – sodawillow

+1

वह लाइन vw और vh दोनों के आधार पर फ़ॉन्ट आकार बना रही है वास्तव में सहायक है – cjsimon

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