2011-05-25 14 views
6

मैं कोडिंग के साथ-साथ सीएसएस की दुनिया में नया हूं और हाल ही में संपत्ति लंबवत-संरेखण में आया हूं। इस पर कई लेखों को पढ़ने के बाद, मैं अभी भी इस बात पर अनजान हूं कि इसके लिए क्या है और आप इसका उपयोग कब करते हैं?सीएसएस में वर्टिकल-एलाइन का उपयोग क्या होता है?

मेरी समझ यह है कि इसका उपयोग टेक्स्ट, छवियों, आदि के साथ-साथ टेक्स्ट या अन्य इनलाइन तत्वों जैसे इनलाइन तत्वों के लिए किया जाता है। इन्हें ब्लॉक तत्व जैसे div, h1, आदि के लिए उपयोग नहीं किया जा सकता है

यदि मेरी समझ सही है, तो छवि को कहने के लिए लंबवत पाठ को संरेखित करने या सबस्क्रिप्ट या सुपरस्क्रिप्ट का उपयोग करने के अलावा, यह अन्य उद्देश्य क्या करता है?

+1

मैं सबसे अधिक बार एक मेज की कोशिकाओं के अंदर का पाठ केंद्रित के लिए इसका इस्तेमाल करते हैं, डिफ़ॉल्ट रूप से पाठ सभी शीर्ष प्रत्येक कोशिका में गठबंधन है और बदसूरत लग रहा है। –

+0

मुझे 'वर्टिकल-एलाइन' सभी उपयोगी नहीं होने के कारण मिलते हैं, क्योंकि ब्लॉक-स्तरीय तत्व संपत्ति को बेवकूफ रूप से अनदेखा करते हैं। यह बहुत अच्छा होगा अगर इसे एक div की सामग्री को लंबवत रूप से केंद्रित करने के लिए उपयोग किया जा सकता है, लेकिन दुख की बात है कि कुछ हाथीदांत टावर व्यक्ति ने फैसला किया कि वह नहीं होना चाहिए। – aroth

उत्तर

1
  • यह हमेशा चश्मा पढ़ने लायक है यदि आप किसी विशिष्ट संपत्ति के बारे में सीखना चाहते हैं:
    http://www.w3.org/TR/CSS21/visudet.html#propdef-vertical-align

  • का उपयोग आम तौर (संयोजन में display: table-cell के साथ) केंद्रित खड़ी है:

    http://jsfiddle.net/7eTb2/

    div { 
        background: #ccc; 
        width: 200px; 
        height: 300px; 
        padding: 5px; 
    
        display: table-cell; 
        vertical-align: middle 
    } 
    

    यह कुछ हद तक भिन्न है इस तकनीक का उपयोग किए बिना लंबवत केंद्र के लिए icult।

  • एक और आम उपयोग केस तब होता है जब inline या inline-block तत्वों की बात आती है।
    क्या अलग vertical-align मूल्यों के साथ होता है के उदाहरण के लिए यहाँ देखें: http://www.brunildo.org/test/inline-block.html

  • एक और अच्छा लिंक को पढ़ने के लिए: http://css-tricks.com/what-is-vertical-align/

हालांकि, यह वास्तविक उपयोग मुझे upvotes हो रही है है, देखें:

:)

+0

उदाहरण के साथ-साथ लिंक के लिए धन्यवाद। मैंने पहले से ही 'हट वर्टिकल एलाइन' लिंक पढ़ा था, हालांकि मेरी समझ सही थी तो अनिश्चित था। इनलाइन-ब्लॉक कुछ ऐसा है जो मैं अभी पढ़ रहा हूं, इसलिए जब आप उनका उपयोग करेंगे, तो वे क्या करेंगे, लेकिन लिंक के लिए धन्यवाद। – PeanutsMonkey

0

वर्टिकल संरेखण बस ऐसा लगता है कि यह कैसा लगता है। यह मूल वस्तु के भीतर लंबवत तत्व को संरेखित करता है; हालांकि, सभी ब्राउज़रों ने इसकी व्याख्या नहीं की है।

Here's उपलब्ध पैरामीटर मानों पर थोड़ी अधिक गहन जानकारी।

+0

@ बी। बर्क - मुझे खेद है लेकिन आपके उत्तर पर विस्तार कर सकता है क्योंकि मैंने आपके द्वारा पोस्ट किए गए लिंक को पहले ही पढ़ लिया है लेकिन यह अभी भी मेरे लिए कोई समझ नहीं आता है। अभिभावक वस्तु का एक उदाहरण क्या है? – PeanutsMonkey

+1

बिल्कुल मैं विस्तृत कर सकता हूं: मूल वस्तु उस ऑब्जेक्ट में होगी जिसमें वह तत्व शामिल है जिसके साथ आप काम कर रहे हैं। इसका एक उदाहरण पाठ के साथ एक div होगा। Div पाठ तत्व के लिए मूल वस्तु होगी। यदि यह div पृष्ठ पर एकमात्र कंटेनर ऑब्जेक्ट था, तो शरीर टैग div तत्व के लिए मूल वस्तु होगी। अधिक समझो? असल में ऐसा लगता है कि आप उस पैरामीटर को अधिक जानकारी देने की कोशिश कर रहे हैं जिसमें यह नहीं है। :) यह वही करता है जो यह कहता है: वस्तुओं को लंबवत रूप से संरेखित करता है। – akuta

+1

एक मूल वस्तु कोई ब्लॉक-स्तर तत्व हो सकती है, लेकिन इसे कागज के टुकड़े पर एक साधारण वर्ग के रूप में कल्पना करें। उस वर्ग के बीच के माध्यम से एक क्षैतिज रेखा बनाएं, और वह वही है जहां आप 'वर्टिकल-एलाइन' जो भी आप वर्ग के अंदर रखेंगे। – Dolph

2

यह वास्तव में ऊर्ध्वाधर इनलाइन तत्वों का उपयोग किया जाता है। ब्लॉक स्तर तत्व इस संपत्ति को अनदेखा करेंगे। तो आपकी समझ सही है।

This blog कुछ उदाहरणों के साथ लंबवत-संरेखण पर कुछ पृष्ठभूमि जानकारी देता है। यह मुख्य रूप से पाठ की एक पंक्ति में एक छवि को लंबवत स्थिति में उपयोग करने के लिए प्रयोग किया जाता है। या tablecells पर valign विशेषता को प्रतिस्थापित करने के लिए।

तो ऐसा लगता है कि आप इसे काफी सही समझ रहे हैं। ऊर्ध्वाधर-संरेखण संपत्ति के विवरण के लिए w3schools देखें।

बस स्पष्ट होना; एक divle जैसे तत्व ब्लॉक करने के लिए लंबवत-संरेखण का उपयोग करने की कोशिश मत करो। जैसा कि आपने पहले ही उल्लेख किया है, यह काम नहीं करेगा, यह टेक्स्ट की एक पंक्ति में छवियों जैसे इनलाइन तत्वों के लिए है। display: table-cell; का उपयोग करना और तत्व पर लंबवत-संरेखण एक हैक है, कृपया जब भी संभव हो, एक div में सामग्री को लंबवत रूप से संरेखित करने के लिए अन्य सीएसएस तकनीकों का उपयोग करें।

+1

धन्यवाद। मैंने आपके प्रश्न से पहले पोस्ट किए गए लिंक को पढ़ा था। तो सभी लंबवत-संरेखण का उपयोग किसी छवि को पाठ या पाठ में लंबवत रूप से किसी छवि को स्थानांतरित करने के साथ-साथ टेबलकेल पर वैल्यूइन विशेषता को प्रतिस्थापित करने के लिए किया जाता है? मैं यह भी समझता हूं कि डिफ़ॉल्ट संपत्ति मान बेसलाइन है। यदि ऐसा है तो इसे रीसेट सीएसएस फ़ाइल में क्यों उपयोग करें। उदाहरण के लिए http://meyerweb.com/eric/tools/css/reset/reset.css – PeanutsMonkey

+2

@PeanutsMonkey: विभिन्न ब्राउज़रों के पास 'लंबवत-संरेखण' के लिए विभिन्न तत्वों के लिए अलग-अलग डिफ़ॉल्ट हैं। "सभी तत्वों" के लिए इसे 'बेसलाइन' पर सेट करना स्थिरता सुनिश्चित करने में सहायता कर सकता है। – thirtydot

+0

एक reset.css फ़ाइल का उपयोग करते समय आप पूरी तरह से सुनिश्चित होना चाहते हैं कि सभी ब्राउज़र वही व्यवहार कर रहे हैं। मुझे लगता है कि कुछ ब्राउज़र बेसलाइन का उपयोग सभी तत्वों के लिए डिफ़ॉल्ट सेटिंग के रूप में नहीं कर रहे हैं। तो reset.css आपके लिए यह सुनिश्चित करेगा। –

1

खड़ी संरेखित, W3C द्वारा और कैसे सबसे (टीएम) व्याख्या से, केवल प्रयोग किया जाता है/तत्वों कि टेबल कोशिकाओं (<td>) कर रहे हैं में प्रभावित कर लेता है, और कुछ ब्राउज़रों पर, तत्वों display: table-cell घोषणा के साथ।

बाकी समय, यह ब्राउज़र द्वारा बड़े पैमाने पर उपेक्षा किया जाता है।

1

अन्य लंबवत-संरेखण के बारे में अधिकतर सही हैं। हकीकत यह है कि यह काम करता है, बस आप कैसे सोचते हैं। यह इनलाइन तत्वों के लिए है, तत्वों को अवरुद्ध नहीं करता है।

इस मामले में, एक पहेली एक हजार शब्द के लायक है। :)

http://jsfiddle.net/JJfuj/

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