इससे पहले कि हम करने के लिए सीएसएस के साथ सौदा करने के लिए हमारे पृष्ठ लेआउट बनाने के लिए, किसी तालिका कक्ष के अंदर कुछ सामग्री aligning के बस बच्चों का खेल लग रहा था. बस "संरेखित करें या अपनी पसंद के संरेखण, केक का टुकड़ा है करने के लिए तालिका के" valign "के संपत्ति सेट!
सीएसएस लेआउट के साथ, यद्यपि हम तत्वों के लिए संपत्ति खड़ी संरेखित ", यह" संरेखित करें "या" valign "के गुण के रूप में सरल रूप में हो नहीं लगता है. अधिक specifiic "ऊर्ध्वाधर पंक्ति में" लगता है, अपनी समस्याओं का कोई हल नहीं खासकर अगर पार ब्राउज़र सीएसएस का एक टुकड़ा लिख रहे हैं.
HTML टेबल्स के उपयोग के बिना, वस्तु पर केंद्रित की समस्या, यह एक छवि या एक से युक्त विभाजन के भीतर कुछ पाठ है, शायद हर यूआई / कुछ बिंदु पर सीएसएस डेवलपर्स दुःस्वप्न किया गया हो. यह समस्या आगे aligning, अगर केन्द्रित किया वस्तु प्रकृति में गतिशील है, यानी जब इसकी ऊंचाई चर रहा है की अपनी चिंताओं extrapolates (अज्ञात ऊंचाई).
हालांकि वहाँ कोई ज्ञात सीधे आगे समाधान है कि ब्राउज़र के साथ हम सौदा है की सीमा के पार काम है, समाधान है कि मैं करता पर आने की कोशिश की है कि मैं इसे में करने की कोशिश की है कुछ ब्राउज़रों में काम करने लगते हैं (IE6, IE 7 , एफएफ).
हल:
मोज़िला, ओपेरा और सफारी जैसे ब्राउज़रों में अजीब "ऊर्ध्वाधर पंक्ति में" संपत्ति अपने होश में लाया जा सकता है बस, "टेबल सेल (प्रदर्शन: टेबल सेल) युक्त विभाजन के" प्रदर्शन "संपत्ति की स्थापना द्वारा व्यवहार .
समस्या अभी भी ब्राउज़र आईई परिवार के साथ रहता है, जो अभी तक टेबल सेल संपत्ति और अज्ञानी के साथ क्या समझ के रूप में वे कर रहे हैं, वे तो बस इसे अनदेखा नहीं लगता है. नीचे, यह देखते हुए हालांकि सरल, विज्ञापन करना बातें होती हैं HTML करने के लिए कुछ अधिक डोम तत्वों समाधान.
सीएसएस और HTML इस तरह दिखता है
.outer_container {
display: table;
text-align:center;
height: 140px;
width:140px;
position: relative;
overflow: hidden;
float:left;
margin:0px 10px 0px 0px;
}
.obj_container {
display: table-cell;
vertical-align: middle;
#position: absolute;
#top: 50%;
#left:50%;
}
.obj{
#position: relative;
#top: -50%;
#left:-50%;
margin:0px auto 0px auto;
}
एचटीएमएल: -
<div class="outer_container">
<div class="obj_container">
<div class="obj"> <img src="image1.jpg"/> देखा गया में करें <br/> हैं: 3456 </ div>
</ Div>
</ Div>
परिणाम इस तरह दिखता है: -
डेमो यहाँ देखने के लिए | डाउनलोड स्रोत फ़ाइलें (453 बार डाउनलोड)
समाधान को समझना: गुण तालिका सेल के लिए मेज और प्रदर्शन: ब्राउज़रों कि प्रदर्शन समझते हैं, यह शायद ही कभी किसी भी स्पष्टीकरण की जरूरत है. IE के लिए, उपयोग आईई विशिष्ट हैक (हैश हैक) के साथ, हम उपलब्ध ऊंचाई की छमाही में बिल्कुल वस्तु कंटेनर (obj_container) की स्थिति. तो भीतर वस्तु स्थिति (obj) अपेक्षाकृत है, और उसकी ऊंचाई के आधे से ऊपर चला गया है ... खैर! मैं अपने चेहरे पर देखो समझने लगते हैं, लेकिन यह काम करता है. यह कोशिश करो! ऊपर तकनीक के लिए हमें ऊपर पार ब्राउज़र समाधान देने के लिए संयुक्त रहे हैं.
सीएसएस आसानी से नीचे के रूप में संशोधित कर सकते हैं को प्राप्त करने के लिए, अनुलंब संरेखित: शीर्ष या अनुलंब संरेखित: नीचे शीर्ष सीएसएस संरेखित करें
.obj_container_top {
display: table-cell;
vertical-align: top;
#position: absolute;
#top: 0%;
#left:50%;
}
.obj_top{
#position: relative;
#top: 0%;
#left:-50%;
margin:5px auto 0px auto;
font-family:Verdana, Arial, Helvetica, sans-serif;
font-size:10px;
color:#cccccc;
}
एचटीएमएल: -
<div class="outer_container">
<div class="obj_container_top">
<div class="obj_top"> <img src="image1.jpg"/> देखा गया करें <br/>: 1234 </ div>
</ Div>
</ Div>
परिणाम इस तरह दिखता है: -
नीचे सीएसएस संरेखित करें
.obj_container_bottom {
display: table-cell;
vertical-align: bottom;
#position: absolute;
#bottom: 0%;
#left:50%;
}
.obj_bottom {
#position: relative;
#bottom: 0%;
#left:-50%;
margin:5px auto 0px auto;
}
एचटीएमएल: -
<div class="outer_container">
<div class="obj_container_bottom">
<div class="obj_bottom"> <img src="image1.jpg"/> देखा गया करें <br/>: 1234 </ div>
</ Div>
</ Div>
परिणाम इस तरह दिखता है: -
डेमो यहाँ देखने के लिए यहाँ डाउनलोड करें |
बस मार्जिन संपत्ति के साथ हासिल की है, मार्जिन बाईं स्थापना और मार्जिन - सही ऑटो के लिए वस्तु की क्षैतिज केंद्रित उम्र की तरह लगता है, जब से मैं इस संरेखण समस्या के लिए एक उचित समाधान खोजने की कोशिश कर रहा था. लेकिन अब इस समाधान के साथ, मैं थोड़ा शांति में लग रहा है.
एक है कि किसी दिन आशा के साथ
- ऊर्ध्वाधर संरेखण सीएसएस में संपत्ति झाड़ी के आसपास बहुत से हरा करने के लिए बिना, यह किसी तालिका कक्ष के अंदर की तरह काम करेंगे
- कम से कम, मार्जिन टॉप स्थापित ऑटो और मार्जिन नीचे: ऑटो, साथ मार्जिन छोड़ दिया और मार्जिन - सही सेट करने के लिए ऑटो के रूप में एक ही परिणाम के रूप में दे देंगे
- ब्राउज़र युद्धों कुछ दिन खत्म हो जाएगा.
- बस सभी के लिए एक ब्राउज़र होगा.
सीएसएस और ऊपर यहाँ समाधान के HTML understandability के लिए (453 बार करें) .., सीएसएस अनुकूलित किया गया है नहीं है
पुनश्च: और वैसे भी, उन कुछ तस्वीरें मैं क्लिक किया है के थंबनेल हैं ... 