inline-blockतत्वों का उपयोग करते समय, whitespace उन तत्वों के बीच हमेशा एक समस्या होगी (यह स्थान लगभग ~ 4px चौड़ा है)।
तो, आपके दोनों divs, जिसमें दोनों की 50% चौड़ाई है, प्लस whitespace(~ 4px) चौड़ाई में 100% से अधिक है, और इसलिए यह टूट जाता है। आपकी समस्या का उदाहरण:
body{
margin: 0;
}
div{
display: inline-block;
width: 50%;
}
.left{
background-color: aqua;
}
.right{
background-color: gold;
}
<div class="left">foo</div>
<div class="right">bar</div>
इसे ठीक करने के कुछ तरीके हैं:
1. उन तत्वों के बीच कोई स्थान नहीं
body{
margin: 0;
}
div{
display: inline-block;
width: 50%;
}
.left{
background-color: aqua;
}
.right{
background-color: gold;
}
<div class="left">foo</div><div class="right">bar</div>
2. HTML टिप्पणियों का उपयोग करना
body{
margin: 0;
}
div{
display: inline-block;
width: 50%;
}
.left{
background-color: aqua;
}
.right{
background-color: gold;
}
<div class="left">foo</div><div class="right">bar</div>
3. माता-पिता font-sizeको सेट करें 0, और फिर inline-blockतत्वों में कुछ मूल्य जोड़ दें
body{
margin: 0;
}
.parent{
font-size: 0;
}
.parent > div{
display: inline-block;
width: 50%;
font-size: 16px;
}
.left{
background-color: aqua;
}
.right{
background-color: gold;
}
<div class="parent">
<div class="left">foo</div>
<div class="right">bar</div>
</div>
4. उनके बीच एक नकारात्मक मार्जिन का उपयोग करना ( बेहतर नहीं )
body{
margin: 0;
}
div{
display: inline-block;
width: 50%;
margin-right: -4px;
}
.left{
background-color: aqua;
}
.right{
background-color: gold;
}
<div class="left">foo</div>
<div class="right">bar</div>
5. समापन कोण छोड़ने
body{
margin: 0;
}
div{
display: inline-block;
width: 50%;
}
.left{
background-color: aqua;
}
.right{
background-color: gold;
}
<div class="left">foo</div
><div class="right">bar</div>
<hr>
<div class="left">foo</div><div class="right">
bar</div>
6. कुछ HTML समापन टैगों को छोड़ना ( संदर्भ के लिए @thirtydot )
body{
margin: 0;
}
ul{
margin: 0;
padding: 0;
}
li{
display: inline-block;
width: 50%;
}
.left{
background-color: aqua;
}
.right{
background-color: gold;
}
<ul>
<li class="left">foo
<li class="right">bar
</ul>
संदर्भ:
- सीएसएस ट्रिक्स पर इनलाइन ब्लॉक एलिमेंट्स के बीच स्पेस लड़ना
- डेविड वॉल्श द्वारा इनलाइन-ब्लॉक एलिमेंट्स के बीच व्हाट्सएप निकालें
- इनलाइन-ब्लॉक तत्वों के बीच का स्थान कैसे निकालें?
जैसा कि @ MarcosPérezGude ने कहा , सबसे अच्छा तरीका उपयोग करना है rem, और टैग font-sizeपर कुछ डिफ़ॉल्ट मान जोड़ें html(जैसे HTML5Boilerplate )। उदाहरण:
html{
font-size: 1em;
}
.ib-parent{
font-size: 0;
}
.ib-child{
display: inline-block;
font-size: 1rem;
}
अपडेट : जैसा कि यह लगभग 2018 है। फ्लेक्सबॉक्स या उससे भी बेहतर - सीएसएस ग्रिड लेआउट का उपयोग करें ।