दिलचस्प पोस्ट
Arrays.toString (int ) का रिवर्स (आउटपुट पार्स) डायनामिक पेपल बटन एन्क्रिप्शन कैसे CGAffineTransformMakeRotation उपयोग करने के लिए? एंड्रॉइड: इस के बजाय getBaseContext () का उपयोग क्यों करना चाहिए? मैं एक वेबब्रोवर के लिए नेविगेट करने के लिए इंतजार कर सकता हूं, लूप का उपयोग कर? यूनिक्स / लिनक्स आईपीसी की तुलना करना URI.escape और CGI.escape में अंतर क्या है? IE8 सीएसएस @ फॉन्ट-फोंट फोंट केवल इसके लिए काम कर रहे हैं: रिफ्रेश / हार्ड रिफ्रेश पर सामग्री से पहले और कभी-कभी मूल्यों को बाहर निकालने के लिए स्ट्रेट में एक बड़ा एंडियन बाइट संग्रह मार्शलिंग पांडस ग्रुपबी रेंज ऑफ वैल्यूस अल्पविराम के बाहर उद्धरण चिह्नों पर विभाजन कैसे दो छवियों के बीच अंतर को खोजने के लिए? मैं मैक पर जीएनयू के रीडब्लिंग-एफ का व्यवहार कैसे प्राप्त करूं? स्ट्रिंग को पूर्णांक सी में परिवर्तित करना सूची दृश्य आइटम स्वाइप बाएं और स्वाइप सही है?

एक डीव्ही ब्लॉक के अंदर सीएसएस केंद्र पाठ (क्षैतिज और अनुलंब)

मेरे पास display:block करने के लिए एक div सेट है display:block ( 90px height और width ) और मेरे अंदर कुछ पाठ है

मुझे पाठ को केंद्र में दोनों खड़ी और क्षैतिज रूप से गठबंधन करने की आवश्यकता है

मैंने text-align:center की कोशिश की text-align:center , लेकिन यह क्षैतिज भाग नहीं करता है इसलिए मैंने vertical-align:middle की कोशिश की vertical-align:middle लेकिन यह काम नहीं करता।

कोई विचार?

Solutions Collecting From Web of "एक डीव्ही ब्लॉक के अंदर सीएसएस केंद्र पाठ (क्षैतिज और अनुलंब)"

यदि यह पाठ और / या छवि की एक पंक्ति है, तो यह करना आसान है। महज प्रयोग करें

 text-align: center; vertical-align: middle; line-height: 90px; /* the same as your div height */ 

बस। यदि यह कई पंक्तियां हो सकती है, तो यह कुछ अधिक जटिल है। लेकिन http://pmob.co.uk/ पर समाधान हैं "ऊर्ध्वाधर संरेखण" के लिए देखें।

चूंकि वे हैक्स बनाते हैं या जटिल divs जोड़ते हैं … मैं आमतौर पर एक सेल के साथ ऐसा करने के लिए टेबल का उपयोग करता हूं … इसे यथासंभव सरल बनाने के लिए।


2016/2017 के लिए अद्यतन:

इसे transform साथ और अधिक सामान्य किया जा सकता है, और यह आईई 10 और आईई 11 जैसे पुराने ब्राउज़रों में भी अच्छा काम करता है। यह पाठ की कई पंक्तियों का समर्थन कर सकता है:

 position: relative; top: 50%; transform: translateY(-50%); 

उदाहरण: https://jsfiddle.net/wb8u02kL/1/

चौड़ाई लपेटने के लिए चौड़ाई:

उपरोक्त समाधान सामग्री क्षेत्र के लिए एक निश्चित चौड़ाई का इस्तेमाल किया। एक सिकुड़ लपेटो चौड़ाई का उपयोग करने के लिए, उपयोग करें

 position: relative; float: left; top: 50%; left: 50%; transform: translate(-50%, -50%); 

उदाहरण: https://jsfiddle.net/wb8u02kL/2/

मैंने फ्लेक्सबॉक्स की कोशिश की, लेकिन यह व्यापक रूप से समर्थित नहीं था, क्योंकि यह IE10 जैसी IE के कुछ पुराने संस्करणों में तोड़ देगा।

2014 की सामान्य तकनीक:


  • दृष्टिकोण 1 – translateX ट्रांसएक्स / translateY :

    यहाँ उदाहरण / पूर्ण स्क्रीन उदाहरण

    समर्थित ब्राउज़रों (उनमें से अधिकांश) में, आप top: 50% उपयोग कर सकते हैं top: 50% / left: 50% गतिशील रूप से ऊर्ध्वाधर / क्षैतिज रूप से केंद्र को translateX(-50%) translateY(-50%) साथ संयोजन में।

     .container { position: absolute; top: 50%; left: 50%; transform: translateX(-50%) translateY(-50%); } 

  • दृष्टिकोण 2 – फ्लेक्सबॉक्स विधि:

    यहाँ उदाहरण / पूर्ण स्क्रीन उदाहरण

    समर्थित ब्राउज़रों में , लक्ष्य तत्वों के display को flex और align-items: center उपयोग align-items: center लिए सेट align-items: center लिए ऊर्ध्वाधर केंद्रिंग और justify-content: center क्षैतिज केंद्रिंग के लिए। बस अतिरिक्त ब्राउज़र समर्थन के लिए विक्रेता उपसर्ग जोड़ने के लिए मत भूलना ( उदाहरण देखें )।

     html, body, .container { height: 100%; } .container { display: flex; align-items: center; justify-content: center; } 

  • दृष्टिकोण 3 – table-cell / vertical-align: middle :

    यहाँ उदाहरण / पूर्ण स्क्रीन उदाहरण

    कुछ मामलों में, आपको यह सुनिश्चित करना होगा कि html / body element की ऊंचाई 100% सेट की गई है

    ऊर्ध्वाधर संरेखण के लिए, मूल तत्व की width / height को 100% और display: table जोड़ें display: table । फिर बच्चे तत्व के लिए, display को table-cell बदलें और vertical-align: middle

    क्षैतिज केंद्रिंग के लिए, आप text-align: center जोड़ सकते हैं text-align: center और पाठ और किसी अन्य inline बच्चों के तत्वों को केन्द्रित करने के लिए। वैकल्पिक रूप से, आप margin: 0 auto उपयोग कर सकते हैं margin: 0 auto तत्व को मानते हुए कि block स्तर है

     html, body { height: 100%; } .parent { width: 100%; height: 100%; display: table; text-align: center; } .parent > .child { display: table-cell; vertical-align: middle; } 

  • दृष्टिकोण 4 – बिल्कुल विस्थापन के साथ शीर्ष से 50% स्थान पर रखा गया है:

    यहाँ उदाहरण / पूर्ण स्क्रीन उदाहरण

    यह दृष्टिकोण मानता है कि पाठ की एक ज्ञात ऊंचाई है – इस उदाहरण में, 18px सिर्फ मूल तत्व के सापेक्ष, ऊपर से 50% तत्व को बिल्कुल स्थान दें। इस मामले में तत्व के ज्ञात ऊँचाई का आधा ऋणात्मक margin-top मान का प्रयोग करें – -9px

     html, body, .container { height: 100%; } .container { position: relative; text-align: center; } .container > p { position: absolute; top: 50%; left: 0; right: 0; margin-top: -9px; } 

  • दृष्टिकोण 5 – line-height विधि (कम से कम लचीली – सुझाई नहीं):

    उदाहरण यहाँ

    कुछ मामलों में, मूल तत्व की एक निश्चित ऊंचाई होगी ऊर्ध्वाधर केंद्रिंग के लिए, आपको केवल मूल तत्व की निश्चित ऊंचाई के बराबर बच्चे तत्व पर एक line-height मान सेट करना होगा।

    यद्यपि यह समाधान कुछ मामलों में काम करेगा, लेकिन यह ध्यान देने योग्य है कि जब पाठ की कई पंक्तियां होंगी तो यह काम नहीं करेगा – जैसे यह

     .parent { height: 200px; width: 400px; text-align: center; } .parent > .child { line-height: 200px; } 

तरीके 4 और 5 सबसे विश्वसनीय नहीं हैं। पहले 3 में से एक के साथ जाओ

फ्लेक्सबॉक्स / सीएसएस का उपयोग करना:

 <div class="box"> <p>&#x0D05;</p> </div> 

सीएसएस:

 .box{ display: flex; justify-content: center; align-items: center; } 

त्वरित सुझाव से लिया गया : केंद्र तत्वों का सरल तरीका खड़ी और क्षैतिज रूप से

लाइन display: table-cell; जोड़ें display: table-cell; उस सीडी के लिए आपके सीएसएस के लिए केवल तालिका कक्ष ऊर्ध्वाधर-संरेखण का समर्थन करते हैं: मध्य; लेकिन आप यह दे सकते हैं कि [तालिका-सेल] परिभाषा को डिव ..

यहां लाइव उदाहरण: http://jsfiddle.net/tH2cc/

 div{ height:90px; width:90px; text-align:center; border:1px solid silver; display: table-cell; // this says treat this element like a table cell vertical-align:middle; //now we can center vertically like in a TD } 

मैं कंटेनर के लिए हमेशा निम्न सीएसएस का उपयोग करता हूं, ताकि इसकी सामग्री को क्षैतिज और अनुलंब रूप से केन्द्रित किया जा सके।

 display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex; -webkit-box-align: center; -moz-box-align: center; -ms-flex-align: center; -webkit-align-items: center; align-items: center; -webkit-box-pack: center; -moz-box-pack: center; -ms-flex-pack: center; -webkit-justify-content: center; justify-content: center; 

इसे यहां कार्रवाई में देखें: https://jsfiddle.net/yp1gusn7/

आप इस के लिए बहुत आसान कोड की कोशिश कर सकते हैं

  display:flex; align-items: center; justify-content:center; 
 .box{ height:90px; width:90px; background:green; display:flex; align-items: center; justify-content:center; } 
 <div class="box"> Lorem </div> 
 <div class="small-container"> <span>Text centered</span> </div> <style> .small-container { width:250px; height:250px; border:1px green solid; text-align:center; position: absolute; top: 50%; left: 50%; -moz-transform: translateX(-50%) translateY(-50%); -webkit-transform: translateX(-50%) translateY(-50%); transform: translateX(-50%) translateY(-50%); } .small-container span{ position: absolute; top: 50%; left: 50%; -moz-transform: translateX(-50%) translateY(-50%); -webkit-transform: translateX(-50%) translateY(-50%); transform: translateX(-50%) translateY(-50%); } </style> 
 #parent { display:table; } #child { display:table-cell; width:100%; //as large as its parent to center the text horizontally text-align: center; vertical-align:middle;//vertically align this element on its parent } 

दृष्टिकोण 1

 div { height: 90px; line-height: 90px; text-align: center; border: 2px dashed #f69c55; } 
 <div> Hello World! </div> 

लक्षित सीएसएस वर्ग को लक्षित करें

 .centered { width: 150px; height: 150px; display: flex; align-items: center; justify-content: center; text-align: center; background: red; /* not necessary just to see the result clearly */ } 
 <div class="centered">This text is centered horizontally and vertically</div> 

ऊर्ध्वाधर संरेखण प्राप्त करने के लिए रेखा की ऊंचाई समायोजित करें

 line-height: 90px; 

यह मेरे लिए काम करता है (ठीक से परीक्षण!)

एचटीएमएल:

 <div class="mydiv"> <p>Item to be Centered!</p> </div> 

सीएसएस:

 .mydiv { height: 100%; /* or other */ position: relative; } .mydiv p { margin: 0; position: absolute; top: 50%; left: 50%; margin-right: -50%; transform: translate(-50%, -50%); /* to compensate own width and height */ } 

आप अन्य मान चुन सकते हैं तो 50% फाई माता-पिता के 25% केंद्र में 25%

 <!DOCTYPE html> <html> <head> <style> .container{ height:450px; background:#f8f8f8; display: -ms-flexbox; display: -webkit-flex; display: flex; -ms-flex-align: center; align-items: center; -webkit-box-align: center; justify-content: center; width: 100%; } p{ font-size:24px;} </style> </head> <body> <div class="container"> <p>hello world</p> </div> </body> </html> 
 <!DOCTYPE html> <html> <head> <style> .maindiv{ height:450px; background:#f8f8f8; display: -webkit-flex; align-items: center; justify-content: center; } p{ font-size:24px;} </style> </head> <body> <div class="maindiv"> <h1>Title</h1> </div> </body> </html> 

आप निम्न विधियों की कोशिश कर सकते हैं:

1. यदि आपके पास एक शब्द या एक पंक्ति वाक्य है, तो निम्न कोड चाल कर सकता है।

एक div टैग के अंदर एक पाठ रखें और उसे एक आईडी दें उस आईडी के लिए निम्न गुणों को परिभाषित करें

 id-name { height: 90px; line-height: 90px; text-align: center; border: 2px dashed red; } 

नोट: सुनिश्चित करें कि रेखा-ऊंचाई की संपत्ति विभाजन की ऊंचाई के समान है।

छवि

लेकिन, अगर सामग्री एक से अधिक शब्द या एक पंक्ति है तो यह काम नहीं करता है। इसके अलावा, ऐसे समय आएंगे जब आप पीएक्स या% में डिवीज़न के आकार को निर्दिष्ट नहीं कर सकते हैं। (जब डिवीज़न वास्तव में छोटा है और आप चाहते हैं कि सामग्री मध्य में बिल्कुल हो)

2. इस मुद्दे को हल करने के लिए, हम गुणों के निम्न संयोजन का प्रयास कर सकते हैं।

 id-name { display: flex; justify-content: center; align-items: center; border: 2px dashed red; } 

छवि

कोड की ये 3 लाइनें सामग्री को एक डिवीजन के बीच में बिल्कुल सेट करती हैं (चाहे डिस्प्ले के आकार के)। "संरेखित करें- आइटम: केन्द्र" ऊर्ध्वाधर केंद्रिंग में मदद करता है जबकि "औचित्य-सामग्री: केंद्र" इसे क्षैतिज रूप से केन्द्रित कर देगा।

नोट: फ्लेक्स सभी ब्राउज़रों में काम नहीं करता है सुनिश्चित करें कि आप अतिरिक्त ब्राउज़र समर्थन के लिए उचित विक्रेता उपसर्ग जोड़ते हैं।

शैली लागू करें:

 position: absolute; top: 50%; left: 0; right: 0; 

आपका टेक्स्ट इसकी लंबाई के बावजूद केंद्रित होगा

 .cell-row {display: table; width: 100%; height: 100px; background-color: lightgrey; text-align: center} .cell {display: table-cell} .cell-middle {vertical-align: middle} 
 <div class="cell-row"> <div class="cell cell-middle">Center</div> </div> 

यह सही जवाब होना चाहिए। स्वच्छ और सरल:

 .element { position: relative; top: 50%; transform: translateY(-50%); } 
 footer { width: 100%; height: 80px; position: absolute; bottom: 0; left: 0; }