2012-03-12 91 views
3

我有6 DIV s與display:inline-block在一行中。但是他們之間有一個奇怪的空白空間,我怎麼能擺脫它?它們應該放在一條容器中。`display:inline-block`-elements奇怪的邊距

小提琴:http://jsfiddle.net/y7L7q/

HTML:

<div id="container"> 
    <div class="box"></div> 
    <div class="box"></div> 
    <div class="box"></div> 
    <div class="box"></div> 
    <div class="box"></div> 
    <div class="box"></div> 
</div> 

CSS:

#container{ 
    width:300px; 
    border:1px solid black; 
} 
.box{ 
    display:inline-block; 
    height:50px; 
    width:50px; 
    background-color:black; 
    margin:0; 
    padding:0; 
} 

回答

8

font-size:0;。就像這樣:

#container{ 
    width:300px; 
    border:1px solid black; 
    font-size:0; 
} 

入住這http://jsfiddle.net/y7L7q/1/

OR

寫您的標誌是這樣的:

<div id="container"> 
    <div class="box"></div><div class="box"></div><div class="box"></div><div class="box"></div><div class="box"></div><div class="box"></div> 
</div> 

入住這http://jsfiddle.net/y7L7q/2/

+5

設置字體大小:0不是正確的解決方案...因爲這些框內的任何內容將有0字體大小。 – Abhidev 2012-03-12 09:41:59

+0

您可以根據您的要求提供內容字體大小,請查看http://jsfiddle.net/y7L7q/10/ – sandeep 2012-03-12 09:47:52

+0

+1給Abhidev評論。 – FelipeAls 2012-03-12 09:56:21

8

因爲它們被設置到內聯塊,這意味着他們之間的空格被視爲行內空白,因此呈現爲這樣。你可以把所有的div在一行中的HTML或包裹在白色空間中的註釋通過兩種解決這個問題:

<div class="box"></div><!-- 
--><div class="box"></div> 
+1

我的首選解決方案是塊之間的評論。我傾向於爲未來的Web開發人員添加'<! - 無空白 - >',以便讀取我的HTML/CSS代碼 – FelipeAls 2012-03-12 09:58:17

0

而是顯示:inline-block的,使用浮動:左刪除不需要的空間。看一下這個。

http://jsfiddle.net/y7L7q/9/

還要注意的是字體大小:0是不是在我看來,正確的方法,因爲它會弄亂這些div裏面的內容。