दिलचस्प पोस्ट
ट्यूपल की परिभाषाओं में अल्पविराम का अनुकरण करने के लिए वाक्यविन्यास नियम क्या है? क्या <स्क्रिप्ट> टैग स्वयं बंद नहीं किया जा सकता है? जावा में जेनेरिक में विलोपन की अवधारणा क्या है? ऑब्जेक्ट को क्रमबद्ध करना जिसमें चक्रीय वस्तु मान है नोड जे एस ईोननरेसेटी Sqlite LIMIT / OFFSET क्वेरी जावा के साथ डीओएम पार्सिंग में सामान्यकरण – यह कैसे काम करता है? मैं एपीपीनेट एमवीसीएल में एचटीटीपीकॉन्टेक्स कैसे मॉक का उपयोग कर रहा हूं? जावास्क्रिप्ट, नोड। जेएस: है Array.for हर एसिंक्रोनस? फेसबुक एपीआई: प्रशंसक बनें / लोग जो एक पृष्ठ पसंद करते हैं सी # में वर्तमान पृष्ठ का URL कैसे प्राप्त करें लेखांकन आवेदन डॉलर राशि के लिए फ्लोट या दशमलव का उपयोग करें? पायथन में अधिकतम पुनरावर्ती गहराई क्या है, और इसे कैसे बढ़ाएं? जेएसएफ घटक बीन की संपत्ति के बिना बाध्यकारी एंड्रॉइड बाएं से दाएं स्लाइड एनीमेशन

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

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

.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 स्कूलों साइट कहते हैं

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

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

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