दिलचस्प पोस्ट
Django- पंजीकरण और Django- प्रोफाइल, अपने खुद के कस्टम प्रपत्र का उपयोग कर Android पर किसी आशय के माध्यम से किसी भी प्रकार की फ़ाइल को चुनें कैसे "पूरी तरह से" एक dict पर ओवरराइड? गिट अंतर में रेंज के लिए डबल डॉट ".. और ट्रिपल डॉट" … के बीच अंतर क्या हैं? अजगर पैक () और ग्रिड () तरीके एक साथ 'has_key ()' या 'इन'? मेरा संकेत / स्लॉट कनेक्शन काम नहीं करता है डेटा एसएमएस संदेश भेजने और प्राप्त करने के तरीके क्रोम एक्सटेंशन कोड बनाम सामग्री स्क्रिप्ट vs इंजेक्शन स्क्रिप्ट किसी डेटा फ्रेम में कॉलम को पुन: क्रमित कैसे किया जाता है? फ्रंट नियंत्रक क्या है और इसे PHP में कैसे कार्यान्वित किया जाता है? Android में सुरक्षित HTTP पोस्ट Javascript / jquery का उपयोग कर यूआरएल से फ़ाइल नाम कैसे खींचें? 'है' ऑपरेटर अनपेक्षित रूप से गैर-कैश्ड इंटिजर्स के साथ व्यवहार करता है स्विफ्ट के साथ एक सरल संग्रह दृश्य बनाने के लिए

एक div में तत्वों की कार्यक्षेत्र संरेखण

मेरे दो छवियों और एक h1 साथ एक div है उन सभी को एक दूसरे के बगल में, div के भीतर खड़ी संरेखित करने की आवश्यकता है

छवियों में से एक को div के भीतर absolute रूप से स्थित होना चाहिए।

सभी सामान्य ब्राउज़रों पर काम करने के लिए सीएसएस क्या आवश्यक है?

 <div id="header"> <img src=".." ></img> <h1>testing...</h1> <img src="..."></img> </div> 

वेब के समाधान से एकत्रित समाधान "एक div में तत्वों की कार्यक्षेत्र संरेखण"

वाह, यह समस्या लोकप्रिय है यह vertical-align संपत्ति में गलतफहमी के आधार पर है यह उत्कृष्ट लेख बताता है:

गैविन कृष्नेर द्वारा vertical-align , या "कैसे ( नं) वर्कटाइनी सेंटर सामग्री" को समझना

"कैसे सीएसएस में केन्द्रित" एक महान वेब उपकरण है जो विभिन्न स्थितियों के लिए आवश्यक सीएसएस केंद्रित सुविधाओं को खोजने में मदद करता है।


संक्षेप में (और लिंक रोट को रोकने के लिए) :

  • इनलाइन तत्व (और केवल इनलाइन तत्व) ऊर्ध्वाधर संरेखण के माध्यम से उनके संदर्भ में vertical-align: middle । हालांकि, "संदर्भ" पूरे माता-पिता कंटेनर की ऊंचाई नहीं है, यह उस पाठ रेखा की ऊंचाई है जो वे अंदर हैं। Jsfiddle उदाहरण
  • ब्लॉक तत्वों के लिए, ऊर्ध्वाधर संरेखण कठिन है और विशिष्ट स्थिति पर जोरदार निर्भर करता है:
    • अगर आंतरिक तत्व की एक निश्चित ऊंचाई हो सकती है, तो आप अपनी स्थिति absolute कर सकते हैं और इसकी height , margin-top और top स्थान निर्दिष्ट कर सकते हैं। jsfiddle उदाहरण
    • यदि केंद्रित तत्व में एक पंक्ति होती है और इसकी मूल ऊंचाई तय होती है तो आप अपनी ऊँचाई भरने के लिए बस कंटेनर की line-height निर्धारित कर सकते हैं यह पद्धति मेरे अनुभव में काफी बहुमुखी है jsfiddle उदाहरण
    • … ऐसे अधिक विशेष मामलों हैं

मैंने यह बहुत सरल कोड का इस्तेमाल किया:

HTML:

 <div class="ext-box"> <div class="int-box"> <h2>Some txt</h2> <p>bla bla bla</p> </div> </div> 

सीएसएस:

 div.ext-box { display: table; width:100%;} div.int-box { display: table-cell; vertical-align: middle; } 

जाहिर है, चाहे आप एक #id या #id उपयोग करते हैं, नतीजा बदल नहीं होगा।

अब जब फ्लेक्सबॉक्स समर्थन बढ़ रहा है, तो इस तत्व को लागू किया जाने वाला सीएसएस उस खड़ी तत्व को खड़ी करेगा:

 .container { display: flex; align-items: center; } 

यदि आपको एक्सप्लोरर 10, और पुरानी (<4.4) एंड्रॉइड ब्राउज़र्स को भी लक्षित करने की आवश्यकता है तो उपसर्ग संस्करण का उपयोग करें:

 .container { display: -ms-flexbox; display: -webkit-flex; display: flex; -ms-flex-align: center; -webkit-align-items: center; -webkit-box-align: center; align-items: center; } 

यह मेरे लिए काम किया:

 .vcontainer { min-height: 10em; display: table-cell; vertical-align: middle; } 

मेरी एक दोस्त की एक तकनीक:

HTML:

 <div style="height:100px; border:1px solid;"> <p style="border:1px dotted;">I'm vertically centered.</p> </div> 

सीएसएस:

 div:before {content:" "; display:inline-block; height:100%; vertical-align:middle;} div p {display:inline-block;} 

डेमो यहां

उन सभी को div के भीतर खड़ी संरेखित करने की आवश्यकता है

कैसे संरेखित? पाठ के शीर्ष के साथ संरेखित छवियों के शीर्ष?

छवियों में से एक को div के भीतर पूर्ण रूप से स्थित होना चाहिए।

बिल्कुल डीआईवी के सापेक्ष तैनात? शायद आप क्या आप के लिए देख रहे हैं बाहर स्केच … सकता है?

एफडी ने पूर्ण स्थिति के लिए कदमों को वर्णित किया है, साथ ही H1 तत्व के प्रदर्शन को समायोजित करना जैसे कि छवियां इसके साथ इनलाइन दिखाई देंगी इसके लिए, मैं जोड़ूंगा कि आप vertical-align शैली के उपयोग से चित्रों को संरेखित कर सकते हैं:

 #header h1 { display: inline; } #header img { vertical-align: middle; } 

… यह शीर्षक और छवियां एक साथ रखेगी, शीर्ष किनारों को गठबंधन के साथ। अन्य संरेखण विकल्प मौजूद हैं; दस्तावेज़ीकरण देखें आपको डीआईवी ड्रॉप करने और H1 तत्व के अंदर चित्रों को स्थानांतरित करने के लिए आपको लाभकारी भी मिल सकता है – यह कंटेनर को शब्दार्थिक मूल्य प्रदान करता है, और H1 के प्रदर्शन को समायोजित करने की आवश्यकता को हटा देता है:

 <h1 id=header"> <img src=".." ></img> testing... <img src="..."></img> </h1> 

इस सूत्र का उपयोग करें, और यह दरारें बिना हमेशा काम करेगा:

 #outer {height: 400px; overflow: hidden; position: relative;} #outer[id] {display: table; position: static;} #middle {position: absolute; top: 50%;} /* For explorer only*/ #middle[id] {display: table-cell; vertical-align: middle; width: 100%;} #inner {position: relative; top: -50%} /* For explorer only */ /* Optional: #inner[id] {position: static;} */ 
 <div id="outer"> <div id="middle"> <div id="inner"> any text any height any content, for example generated from DB everything is vertically centered </div> </div> </div> 

केंद्र में ब्लॉक तत्वों की स्थिति (IE9 और इसके बाद के संस्करण में काम करता है) के लिए, एक रैपर div आवश्यकता होती है:

 .vcontainer { position: relative; top: 50%; transform: translateY(-50%); -webkit-transform: translateY(-50%); } 

लगभग सभी तरीकों को ऊंचाई निर्दिष्ट करने की जरूरत है, लेकिन अक्सर हमारे पास कोई ऊंचाई नहीं है
तो यहाँ एक CSS3 3 लाइन चाल है, जिसकी ऊंचाई जानने में जरूरी नहीं है

 .element { position: relative; top: 50%; transform: translateY(-50%); } 

यह IE9 में भी समर्थित है

इसके विक्रेता उपसर्गों के साथ:

 .element { position: relative; top: 50%; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); } 

स्रोत: http://zerosixthree.se/vertical-align-anything-with-just-3-lines-of-css/

मेरी चाल में 1 पंक्ति और 1 कॉलम के साथ डिवेल में डाल दिया जाता है, 100% चौड़ाई और ऊंचाई, और संपत्ति वर्टिकल-संरेखित करें: बीच।

 <div> <table style="width:100%; height:100%;"> <tr> <td style="vertical-align:middle;"> BUTTON TEXT </td> </tr> </table> </div> 

बेला: http://jsfiddle.net/joan16v/sbqjnn9q/

डिफ़ॉल्ट एच 1 एक ब्लॉक तत्व है और पहले आईएमजी के बाद लाइन पर रेंडर करेगा, और दूसरे आईएमजी को ब्लॉक के बाद लाइन पर दिखाई देगा।

यह होने से रोकने के लिए आप इनलाइन प्रवाह व्यवहार के लिए h1 सेट कर सकते हैं:

 #header > h1 { display: inline; } 

DIV के अंदर आईएमजी के बिल्कुल स्थिति के लिए, इससे पहले कि यह ठीक से काम करेगा, आपको "ज्ञात आकार" के लिए युक्त डिवी सेट करना होगा। मेरे अनुभव में, आपको भी स्थिति विशेषता को डिफ़ॉल्ट से दूर करने की आवश्यकता है – स्थिति: मेरे लिए रिश्तेदार कार्य:

 #header { position: relative; width: 20em; height: 20em; } #img-for-abs-positioning { position: absolute; top: 0; left: 0; } 

यदि आप इसे काम करने के लिए प्राप्त कर सकते हैं, तो आप div.header से ऊँचाई, चौड़ाई, स्थिति के गुणों को क्रमशः दूर करने की कोशिश कर सकते हैं ताकि आप चाहते प्रभाव को प्राप्त करने के लिए न्यूनतम आवश्यक गुण प्राप्त कर सकें।

अद्यतन करें:

यहां एक पूर्ण उदाहरण है जो फ़ायरफ़ॉक्स 3 पर काम करता है:

 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html> <head> <title>Example of vertical positioning inside a div</title> <style type="text/css"> #header > h1 { display: inline; } #header { border: solid 1px red; position: relative; } #img-for-abs-positioning { position: absolute; bottom: -1em; right: 2em; } </style> </head> <body> <div id="header"> <img src="#" alt="Image 1" width="40" height="40" /> <h1>Header</h1> <img src="#" alt="Image 2" width="40" height="40" id="img-for-abs-positioning" /> </div> </body> </html> 

सीएसएस से ऊर्ध्वाधर केंद्र का उपयोग करते हुए, आप बाहरी कंटेनरों को एक मेज की तरह कार्य कर सकते हैं, और एक तालिका सेल के रूप में सामग्री। इस प्रारूप में आपके ऑब्जेक्ट्स केंद्रित होंगे। 🙂

मैंने एक उदाहरण के लिए JSFiddle में कई ऑब्जेक्टों को नीडि़त किया, लेकिन मुख्य विचार इस तरह से है:

एचटीएमएल

 <div class="circle"> <div class="content"> Some text </div> </div> 

सीएसएस

  .circle { /* act as a table so we can center vertically its child */ display: table; /* set dimensions */ height: 200px; width: 200px; /* horizontal center text */ text-align: center; /* create a red circle */ border-radius: 100%; background: red; } .content { /* act as a table cell */ display: table-cell; /* and now we can vertically center! */ vertical-align: middle; /* some basic markup */ font-size: 30px; font-weight: bold; color: white; } 

एकाधिक वस्तुओं का उदाहरण:

एचटीएमएल

 <div class="container"> <div class="content"> <div class="centerhoriz"> <div class="circle"> <div class="content"> Some text </div><!-- content --> </div><!-- circle --> <div class="square"> <div class="content"> <div id="smallcircle"></div> </div><!-- content --> </div><!-- square --> </div><!-- center-horiz --> </div><!-- content --> </div><!-- container --> 

सीएसएस

 .container { display: table; height: 500px; width: 300px; text-align: center; background: lightblue; } .centerhoriz { display: inline-block; } .circle { display: table; height: 200px; width: 200px; text-align: center; background: red; border-radius: 100%; margin: 10px; } .square { display: table; height: 200px; width: 200px; text-align: center; background: blue; margin: 10px; } .content { display: table-cell; vertical-align: middle; font-size: 30px; font-weight: bold; color: white; } #smallcircle { display: inline-block; height: 50px; width: 50px; background: green; border-radius: 100%; } 

परिणाम

परिणाम

https://jsfiddle.net/martjemeyer/ybs032uc/1/

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

उदाहरण HTML:

 <div class="box"> <span><a href="#">Some Text</a></span> </div> 

और सीएसएस:

 .box { display: block; background: #60D3E8; position: relative; width: 300px; height: 200px; text-align: center; } .box span { font: bold 20px/20px 'source code pro', sans-serif; position: absolute; left: 0; right: 0; top: calc(50% - 10px); } a { color: white; text-decoration: none; } 

डेमो यहां बनाया गया: https://jsfiddle.net/xnjq1t22/

यह समाधान उत्तरदायी div height और width साथ-साथ अच्छी तरह से काम करता है।

नोट: पुराने ब्राउज़रों के साथ कॉम्केटिबिलिटी के लिए कैल्श फ़ंक्शन का परीक्षण नहीं किया गया है।

बस एक सेल तालिका के अंदर div का उपयोग करें! बस कक्ष और तालिका की ऊंचाई निर्धारित करें और 100% तक और आप ऊर्ध्वाधर संरेखण का उपयोग कर सकते हैं।

डिवी के अंदर एक एक सेल तालिका खड़ी-संरेखण संभालती है और पाषाण युग में वापस पिछड़े संगत है!

मैं एक वर्ष से अधिक समय से निम्न समाधान (कोई पोजिशनिंग और कोई रेखा की ऊंचाई के बिना) का उपयोग कर रहा हूं, यह आईई 7 और 8 के साथ भी काम करता है।

 <style> .outer { font-size: 0; width: 400px; height: 400px; background: orange; text-align: center; display: inline-block; } .outer .emptyDiv { height: 100%; background: orange; visibility: collapse; } .outer .inner { padding: 10px; background: red; font: bold 12px Arial; } .verticalCenter { display: inline-block; *display: inline; zoom: 1; vertical-align: middle; } </style> <div class="outer"> <div class="emptyDiv verticalCenter"></div> <div class="inner verticalCenter"> <p>Line 1</p> <p>Line 2</p> </div> </div> 

यह एक div के अंदर एक तत्व के लिए मेरा व्यक्तिगत समाधान है

JSFiddle उदाहरण

एचटीएमएल

 <div class="circle"> <i class="fa fa-plus icon"> </i></div> 

सीएसएस

 .circle { border-radius: 50%; color: blue; background-color: red; height:100px; width:100px; text-align: center; line-height: 100px; } .icon { font-size: 50px; vertical-align: middle; } 

मेरे लिए, यह इस तरह से काम किया है:

 <div style="width:70px; height:68px; float:right; display: table-cell; line-height: 68px"> <a href="javascript:void(0)" style="margin-left: 4px; line-height: 2" class="btn btn-primary">Login</a> </div> 

"ए" तत्व बूटस्ट्रैप कक्षाओं का उपयोग करते हुए एक बटन में परिवर्तित होता है, और अब यह एक बाहरी "div" के अंदर खड़ी है।

आज के अनुसार, मुझे CSS3 (और मैं UI को सुशोभित करने के लिए बूटस्ट्रैप v3 ग्रिड सिस्टम का भी उपयोग कर रहा हूँ) का इस्तेमाल करते हुए कई पाठ-पंक्तियों को लंबवत रूप से संरेखित करने के लिए एक नया वैकल्पिक हल मिला है, जो नीचे दिया गया है:

 .immediate-parent-of-text-containing-div{ height: 50px; /* or any fixed height that suits you.*/ } .text-containing-div { display: inline-grid; align-items: center; text-align: center; height: 100%; } 

मेरी समझ के अनुसार, तत्व युक्त पाठ के तत्काल माता-पिता में कुछ ऊँचाई होनी चाहिए। मुझे आशा है कि यह आपकी भी मदद करेगी धन्यवाद!

सिर्फ यह:

 <div> <table style="width: 100%; height: 100%"> <tr> <td style="width: 100%; height: 100%; vertical-align: middle;"> What ever you want vertically-aligned </td> </tr> </table> </div> 

डिवी के अंदर एक एक सेल तालिका खड़ी-संरेखण संभालती है और पाषाण युग में वापस पिछड़े संगत है!

 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> <html> <head> <style type="text/css"> #style_center { position:relative; top:50%; left:50%; } #style_center_absolute { position:absolute; top:50px; left:50px; } <!--#style_center { position:relative; top:50%; left:50%; height:50px; margin-top:-25px; }--> </style> </head> <body> <div style="height:200px; width:200px; background:#00FF00"> <div id="style_center">+</div> </div> </body> </html> 

मैं एक। नेट लड़का हूं जो सिर्फ वेब प्रोग्रामिंग में मिला है। मैंने सीएसएस (अच्छी तरह से, थोड़ा सा) का उपयोग नहीं किया था JQuery के। सीएसएस फ़ंक्शन के साथ मैं ऊर्ध्वाधर केंद्रिंग को पूरा करने के लिए थोड़ा जावास्क्रिप्ट इस्तेमाल किया।

मैं सिर्फ अपने परीक्षण से सब कुछ पोस्ट कर रहा हूँ यह संभवतः अति सुंदर नहीं है, लेकिन यह अभी तक काम करता है।

 script. <html> <head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script> <script type="application/javascript"> function centerElementVertically(id) { var btnDivHeight = $(id).outerHeight(); var prnt = $(id).parent(); var parentHeight = prnt.outerHeight(); var newTop = ((parentHeight - btnDivHeight) / 2) + 'px'; var newPct = newTop / parentHeight+'%;'; $(id).css({top: newTop}); } function showAlert(){ alert("alert"); } $(window).load(()=>{ centerElementVertically('#buttonRight'); centerElementVertically('#buttonLeft'); centerElementVertically('#testerbtn') }); $(window).resize(()=>{ centerElementVertically('#buttonRight'); centerElementVertically('#buttonLeft'); centerElementVertically('#testerbtn') }) </script> <style> #div1 { position:relative; height: 33%; background-color: red; overflow: hidden; } #buttonLeft { position: relative; float:left; width:50%; height:20%; background-color: cornsilk; } #buttonRight { position: relative; float:right; width:50%; height:50%; background-color: darkorchid; } #testerbtn { position: absolute; } body { background-color: aqua; } </style> <body> <div id="div1"> <div id="buttonLeft"> <button id="testerbtn">tester</button> </div> <div id="buttonRight"></div> </div> </body> </head> </html> 

यहां सिर्फ एक अन्य (उत्तरदायी) दृष्टिकोण है:

 html, body { height: 100%; } body { margin: 0; } .table { display: table; width: auto; table-layout:auto; height: 100%; } .table:nth-child(even) { background: #a9edc3; } .table:nth-child(odd) { background: #eda9ce; } .tr { display: table-row; } .td { display: table-cell; width: 50%; vertical-align: middle; } 

http://jsfiddle.net/herrfischerhamburg/JcVxz/

 <div id="header" style="display: table-cell; vertical-align:middle;"> 

या सीएसएस

 .someClass { display: table-cell; vertical-align:middle; } 

ब्राउज़र कवरेज