दिलचस्प पोस्ट
एंड्रॉइड में टैब के अंदर टैब जोड़ना? जावास्क्रिप्ट का उपयोग कर पीएनजी छवि से एनिमेटेड छवि कैसे दिखाएं? कच्चे डेटा के लिए std :: vector पॉइंटर कैसे प्राप्त करें? दो चरण की तलाश – स्पष्टीकरण की आवश्यकता मैं NoSuchMethodError कैसे ठीक करूं? बड़ी फाइल की वजह से गीथहब को धक्का नहीं लगाया जा सकता है जो मैंने पहले से ही हटा दिया था जावा डिफ़ॉल्ट क्रिप्टो / एईएस व्यवहार अज्ञात आंतरिक वर्ग से बाहरी चर सेट करना अनुशंसित JSF 2.0 सीआरयूड फ्रेमवर्क Intent.putExtra सूची कोई भी नाम के साथ जावा विधि कॉल करना SQL सर्वर के लिए MySQL LIMIT खंड समकक्ष JavaServer 2.2 और एचटीएमएलएक्स का समर्थन करता है, एक्सएचटीएचएल का उपयोग क्यों किया जा रहा है केवल प्रति उपयोगकर्ता एक बार पॉपअप प्रदर्शित करें ब्रह्मांडीय किरण: संभावना क्या है कि वे एक कार्यक्रम को प्रभावित करेंगे?

पेरेंट कंटेनर की ऊंचाई के प्रतिशत के रूप में मार्जिन या पैडिंग को कैसे सेट करें?

मैं सीएसएस में एक ऊर्ध्वाधर संरेखण को बनाने के बाद अपने दिमागों को बेदखल कर रहा था

.base{ background-color:green; width:200px; height:200px; overflow:auto; position:relative; } .vert-align{ padding-top:50%; height:50%; } 

और निम्न div संरचना का इस्तेमाल किया।

 <div class="base"> <div class="vert-align"> Content Here </div> </div> 

हालांकि यह इस मामले के लिए काम करने के लिए लग रहा था, मुझे आश्चर्य हुआ कि जब मैंने अपने बेस डिवा की चौड़ाई में वृद्धि या कमी की, तो ऊर्ध्वाधर संरेखण स्नैप होगा। मुझे उम्मीद थी कि जब मैं पैडिंग-टॉप संपत्ति सेट करता हूं, तो यह पैडिंग को मूल कंटेनर की ऊंचाई के प्रतिशत के रूप में लेगा, जो हमारे मामले में आधार है, लेकिन 50 प्रतिशत के उपरोक्त मूल्य का प्रतिशत प्रतिशत के रूप में गणना की जाती है चौड़ाई। 🙁

जावास्क्रिप्ट का उपयोग करने के बिना, ऊंचाई के प्रतिशत के रूप में पैडिंग और / या मार्जिन सेट करने का कोई तरीका क्या है?

अग्रिम में धन्यवाद।

वेब के समाधान से एकत्रित समाधान "पेरेंट कंटेनर की ऊंचाई के प्रतिशत के रूप में मार्जिन या पैडिंग को कैसे सेट करें?"

मुझे यह समस्या भी थी (+1)। मैं इसके द्वारा गंभीरता से नाराज हूं, यह करने के लिए बेवकूफी है।

यह तय है कि हां, ऊर्ध्वाधर पैडिंग और मार्जिन चौड़ाई के सापेक्ष हैं, लेकिन top और bottom नहीं हैं।

तो बस एक div को दूसरे के अंदर रखें और आंतरिक डिव में, top:50% तरह कुछ का उपयोग करें top:50% ( position मामलों को याद रखना अगर यह अभी भी काम नहीं करता है)

आवश्यक व्यवहार का अनुकरण करने के दो विकल्प यहां दिए गए हैं। सामान्य समाधान नहीं, लेकिन कुछ मामलों में मदद कर सकता है। ऊर्ध्वाधर रिक्ति की गणना बाहरी तत्व के आकार के आधार पर की जाती है, उसके माता पिता के नहीं, बल्कि यह आकार माता-पिता के सापेक्ष भी हो सकता है और इस तरह की रिक्ति रिश्तेदार भी होगी।

 <div id="outer"> <div id="inner"> content </div> </div> 

पहला विकल्प: छद्म तत्वों का उपयोग करें, यहां पर ऊर्ध्वाधर और क्षैतिज रिक्ति बाह्य के सापेक्ष हैं। डेमो

 #outer::before, #outer::after { display: block; content: ""; height: 10%; } #inner { height: 80%; margin-left: 10%; margin-right: 10%; } 

बाह्य तत्व को क्षैतिज रिक्ति को स्थानांतरित करने से यह बाह्य के माता-पिता के सापेक्ष है। डेमो

 #outer { padding-left: 10%; padding-right: 10%; } 

दूसरा विकल्प: पूर्ण स्थिति का उपयोग करें डेमो

 #outer { position: relative; } #inner { position: absolute; left: 10%; right: 10%; top: 10%; bottom: 10%; } 

थोड़ा अलग सवाल का उत्तर: आप vh इकाइयों को पैड तत्वों को व्यूपोर्ट के केंद्र में इस्तेमाल कर सकते हैं:

 .centerme { margin-top: 50vh; background: red; } <div class="centerme">middle</div> 

एक पंक्ति पाठ को केन्द्रित करने का दूसरा तरीका यह है:

 .parent{ position: relative; } .child{ position: absolute; top: 50%; line-height: 0; } 

या केवल

 .parent{ overflow: hidden; /* if this ins't here the parent will adopt the 50% margin of the child */ } .child{ margin-top: 50%; line-height: 0; } 

अपने मूल तत्व से पूरी तरह से बाल तत्व तैनात करने के लिए आपको मूल तत्व पर सापेक्ष स्थिति और बच्चे तत्व पर पूर्ण स्थिति निर्धारित करने की आवश्यकता है।

फिर बच्चे तत्व 'शीर्ष' पर माता-पिता की ऊंचाई के सापेक्ष है। इसलिए आपको अपने स्वयं के ऊंचाई का 50% बच्चे ऊपर 'अनुवाद' करने की भी आवश्यकता है।

 .base{ background-color: green; width: 200px; height: 200px; overflow: auto; position: relative; } .vert-align { position: absolute; top: 50%; transform: translate(0, -50%); } 
  <div class="base"> <div class="vert-align"> Content Here </div> </div> 

एक 50% पैडिंग आपके बच्चे के बीच अभ्यस्त होता है, वह इसे केंद्र के नीचे रखेगा। मुझे लगता है कि आप वास्तव में 25% की एक पैडिंग टॉप चाहते हैं शायद आप बस अंतरिक्ष से बाहर चल रहे हैं क्योंकि आपकी सामग्री ऊंची हो जाती है? इसके अलावा आपने पैडिंग टॉप के बजाय मार्जिन-टॉप सेट करने का प्रयास किया है?

संपादित करें: कोई बात नहीं, w3 स्कूलों साइट कहते हैं

% तत्व की चौड़ाई के प्रतिशत में पैडिंग को निर्दिष्ट करता है

तो शायद यह हमेशा चौड़ाई का उपयोग करता है? मैंने कभी नहीं देखा होगा

आप जो कर रहे हैं वह प्रदर्शन का उपयोग करके प्राप्त किया जा सकता है: तालिका हालांकि (कम से कम आधुनिक ब्राउज़रों के लिए) तकनीक यहाँ समझाया गया है