मैं तुम्हारे लिए दो जवाब दिया है।
आप float
मॉडल साथ रहना चाहते हैं:
आपका ul
तत्व (इस संपत्ति के बिना अतिप्रवाह संपत्ति सेट की जरूरत है, अपने ul
(या किसी भी शुरु तत्वों से युक्त) तत्व नहीं ऊंचाई दिया जाता है (यह व्यवहार की उम्मीद है, आपको दिमाग: http://www.quirksmode.org/css/clearing.html) और इसलिए 0 की ऊंचाई तक डिफ़ॉल्ट होगा - इसका प्रभाव यह होगा कि यदि आप अपने ul
/li
और शरीर के लिए अलग-अलग पृष्ठभूमि रंग सेट करते हैं, तो आपके ul
की पृष्ठभूमि दिखाई नहीं देगी प्रदर्शित करने के लिए)।
ul {
text-align: center;
width: 300px;
overflow: auto;
}
आपका li
तत्वों चौड़ाई सेट करने के लिए, अन्यथा की जरूरत है - जारी तत्व के रूप में - उनकी चौड़ाई वे जो भी शामिल करने के लिए स्थापित किया जाएगा। मैंने नीचे पिक्सल का उपयोग किया है, लेकिन आप प्रतिशत मान का भी उपयोग कर सकते हैं।
li {
float: left;
margin: 5px 0 5px 0;
width: 100px;
text-align: center;
}
अपने ली तत्वों (यदि पुराने ब्राउज़रों के लिए समर्थन एक प्राथमिकता नहीं है) के लिए display:inline-block
संपत्ति का उपयोग करें। IE 7 इस का समर्थन नहीं करता, तो यह उपयोगी है यदि आप विस्तृत क्रॉस-ब्राउज़र समर्थन की जरूरत है, तो नहीं है, लेकिन यह प्रभाव आप चाहते हैं बनाता है - हालांकि यकीन है कि आप तो अपने </li>
और <li>
टैग के बीच किसी भी स्थानों को हटा कर, अन्यथा वे में गिना जाएगा समग्र चौड़ाई और तत्वों के बीच रिक्त स्थान के रूप में दिखाई देगा।
एक लाभ यह इस पद्धति है कि आप जानते हैं या कंटेनर ul
की चौड़ाई सेट अगर आप अपने निहित li
तत्वों पर प्रतिशत चौड़ाई का उपयोग करने की जरूरत नहीं है कि है, तब भी आप पाठ के अनुरूप के साथ मुक्त करने के लिए केंद्रित मिल संपत्ति जो आपके पास पहले से है। यह आपके लेआउट को बहुत ही उत्तरदायी बनाता है।
मार्कअप::
<ul>
<li>banana</li><li>orange</li><li>apple</li>
</ul>
सीएसएस:
li {
display:inline-block;
margin:5px 0 5px 0;
width:33.33%;
}
ul {
text-align: center;
}
स्रोत
2012-11-14 19:02:43
मुझे 'nav'' display: table',' ul' 'display: table-row' और' li' 'display: table-cell' बनाना था, फिर यह सब अद्भुत तरीके से काम करता था। –
मैंने इसका परीक्षण किया (क्रोम में), फिर मैंने इसे अपने ईरर्नोट स्निपेट लाइब्रेरी में स्थानांतरित कर दिया :) धन्यवाद @ FireCrakcer37 जो कुछ हैला सीएसएस है। – fusion27
मैंने उपरोक्त कोड के साथ एक वितरित-नेविगेशन क्लास बना दिया है। इस वर्ग का उपयोग करते समय मैं नेविगेशन की चौड़ाई को ओवरराइड कर रहा हूं ताकि एनवी तत्व माता-पिता के साथ व्यापक हो। इस तरह आपको 'li: first/last-child' को संरेखित करने/दाएं को दाएं करने की आवश्यकता नहीं है। मैं नौसेना की स्थिति समायोजित करता हूं। उदाहरण के लिए: 'nav {width: 932px; स्थिति: रिश्तेदार; बाएं: -6px; } '। अब मेरी नौसेना इसके तत्व के चौड़ाई से अधिक है, लेकिन पहले और आखिरी 'ली' दोनों मेरे मुख्य ब्लॉक की बाएं/दाएं सीमाओं के साथ पूरी तरह से गठबंधन हैं। हर आइटम सही ढंग से उचित दिखता है। – Webdevotion