2012-10-08 6 views
5

मैंने अपने तत्वों की चौड़ाई और ऊंचाई को प्रतिशत में सेट किया है ताकि वे एक देख सकें बड़ी स्क्रीन पर थोड़ा बड़ा और सामान्य पर सामान्य। मैंने min-height और min-width भी सेट किया है ताकि स्क्रीन पर बहुत कम देखने पर लेआउट विकृत न हो। मैं चाहता हूं कि मेरे तत्वों में से एक वर्ग स्क्वायर के रूप में दिखाई दे, लेकिन मैं इसके लिए सीएसएस-केवल समाधान के साथ आने में असमर्थ हूं।div की ऊंचाई = इसकी चौड़ाई, प्रतिशत में, ताकि div कंटेनर तत्व (केवल सीएसएस) के गैर-वर्ग आकार के साथ वर्ग की तरह दिखता है

यहां मैंने कोशिश की है: http://jsfiddle.net/5VTTD/, लेकिन यह काम नहीं किया।

यह काम करता है: http://jsfiddle.net/5VTTD/1/, लेकिन यह जेएस का उपयोग करता है।

+1

आप कंटेनर या बॉक्स के अंदर निकला यह कंटेनर कंटेनर ही नहीं की सामग्री से ऊंचाई है, के बाद से करने के लिए एक स्पष्ट ऊंचाई सेट करने के लिए आपका कंटेनर वर्ग नहीं है और इसकी स्पष्ट ऊंचाई या चौड़ाई नहीं है जेएस समाधान सही है। –

उत्तर

7

आप किसी बाहरी <div> एक कंटेनर के रूप में और फिर एक आंतरिक एक एक वर्ग के रूप में की आवश्यकता होगी।

मैंने वर्ग के लिए 50% आयामों का उपयोग किया, लेकिन आप इच्छित आकार का उपयोग कर सकते हैं: यह माता-पिता <div> कंटेनर के सापेक्ष होगा।

मैंने इसे हाइलाइट करने के लिए इसे एक काला पृष्ठभूमि रंग भी दिया: यहां DEMO है।

यह चाल सभी <div> के padding-bottom: 100% में है।

सीएसएस:

#container { 
    position: relative; 
    width: 100%; 
    padding-bottom: 100%; 
} 

#square { 
    position: absolute; 
    width: 50%; 
    height: 50%; 
    background-color: #000000; 
} 

HTML:

<div id="container"> 
    <div id="square"> 
    </div> 
</div> 
+0

के अलावा प्रतिशत के साथ काम नहीं कर रहा है 'पैडिंग-तल' के बिना भी काम करता है: http://jsfiddle.net/wwvcH/1/ –

+0

लेकिन कंटेनर तत्व स्वयं वर्ग नहीं है: http: // jsfiddle। नेट/wwvcH/3/ –

+0

यह विफल रहता है क्योंकि यह मूल कंटेनर आयामों पर आधारित है। – Cirou

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