2010-06-15 19 views
24

मुझे निम्न परीक्षण पृष्ठ और सीएसएस मिला है। प्रदर्शित होने पर, प्रत्येक सूची आइटम के बीच एक 4 पीएक्स अंतर होता है। मैं वस्तुओं को एक दूसरे के बगल में कैसे प्राप्त करूं?सीएसएस क्षैतिज सूची वस्तुओं के बीच सफेद जगह से छुटकारा पाने के लिए कैसे?

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">  

<html> 
     <head> 
     <link type="text/css" rel="stylesheet" href="/stylesheets/test.css" /> 
     </head> 

     <body> 
     <div> 
      <ul class="nav"> 
      <li class="nav"><a class="nav" href="#">One1</a></li> 
      <li class="nav"><a class="nav" href="#">Two</a></li> 
      <li class="nav"><a class="nav" href="#">Three</a></li> 
      <li class="nav"><a class="nav" href="#">Four</a></li> 
      </ul> 
     </div> 
     </body> 
    </html> 

सीएसएस:

ul.nav, ul li.nav { 
    display: inline; 
    margin: 0px; 
    padding: 0px; 
} 

ul.nav { 
    list-style-type: none; 
} 

li.nav { 
    background-color: red; 
} 

a.nav { 
    background-color: green; 
    padding: 10px; 
    margin: 0px; 
} 

a:hover.nav { 
    background-color: gray; 
} 

उत्तर

43

आप li रों पर display:block और float:left उपयोग करने के लिए अंतरिक्ष को दूर करने की जरूरत है। जब वे इनलाइन होते हैं तो ब्राउजर उन्हें शब्दों के रूप में मानता है, और इसलिए बीच में जगह छोड़ देता है।

my similar question भी देखें।

6

मुझे डर है कि यह भी गंदा है, लेकिन अगर मैं इसे साफ़ कर दूं तो मैं आश्चर्यचकित हूं (सुखद)।

<li class="nav"><a class="nav" href="#">One1</a></li><li class="nav"><a class="nav" href="#">Two</a></li><li class="nav"><a class="nav" href="#">Three</a></li><li class="nav"><a class="nav" href="#">Four</a></li> 

क्षमा करें:

एक लाइन पर रखो अपने सभी <li> रों।

17

@Skilldrick और @teedyay को संयोजित करें और आपके पास आपका उत्तर और स्पष्टीकरण है।
यदि <li> एस को उनके चारों ओर किसी भी सफेद स्थान की तुलना में शब्दों के रूप में माना जाता है, तो वह एक स्थान पर घिरा हुआ है।

तो मुझे लगता है कि यह एक ऐसी सुविधा है जो एक बग की तरह दिखती है।

स्थान को हटाने के लिए या तो अपने सभी <li> एस को एक श्रृंखला में रखें जिसमें उनके बीच कोई सफेद स्थान नहीं है।
या
0 करने के लिए <ul> पर फ़ॉन्ट आकार कम करें और <li> रों

+1

फ़ॉन्ट आकार को कम करने और इसे बहाल करने के लिए मेरे लिए चाल है, धन्यवाद – kitschmaster

+0

मुझे पता है कि यह प्रश्न थोड़ा पुराना है लेकिन एक और विकल्प है - प्रत्येक ' 'और' -> के बाद '' से पहले। ध्यान दें कि मैंने यह नहीं कहा कि यह एक अच्छा समाधान था! हालांकि, उपर्युक्त विकल्पों की तुलना में यह मेरी पसंदीदा विधि बन गया है। – ClarkeyBoy

+0

फ्लोट बाएं भी काम करता है, लेकिन मेरे लिए अवांछित साइड इफेक्ट्स के साथ आया था। फ़ॉन्ट आकार शून्य चाल है। धन्यवाद – nest

11

तुम भी <ul> टैग के लिए font-size:0 सेट कर सकते हैं पर आकार बहाल।

+0

क्षमा करें, पूरी तरह से @ डेविड उत्तर नहीं पढ़ा। – killebytes

+1

मेरे लिए बेहतर समाधान था – wutzebaer

+0

ब्राउज़र समर्थन के बारे में क्या? मैंने कहीं पढ़ा है कि यह आईई <= 7 में काम नहीं करता है –