`display:inline-block`-elements上的奇怪边距

Ale*_*lex 3 html css

我在一条线上有6 DIVdisplay:inline-block.但是他们之间有一个奇怪的白色空间,我怎么能摆脱它呢?它们应该在容器中装入一行.

小提琴: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>
Run Code Online (Sandbox Code Playgroud)

CSS:

#container{
    width:300px;
    border:1px solid black;
}
.box{
    display:inline-block;
    height:50px;
    width:50px;
    background-color:black;
    margin:0;
    padding:0;
}
Run Code Online (Sandbox Code Playgroud)

whe*_*hys 9

因为它们被设置为内联块,这意味着它们之间的空白被视为内联空格,因此呈现为内联空格.您可以通过将所有div放在html中的一行或将空白包装在注释中来解决此问题:

<div class="box"></div><!--
--><div class="box"></div>
Run Code Online (Sandbox Code Playgroud)


san*_*eep 8

font-size:0;.像这样:

#container{
    width:300px;
    border:1px solid black;
    font-size:0;
}
Run Code Online (Sandbox Code Playgroud)

检查这个http://jsfiddle.net/y7L7q/1/

要么

写下这样的标记:

<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>
Run Code Online (Sandbox Code Playgroud)

检查这个http://jsfiddle.net/y7L7q/2/

  • 设置font-size:0不是正确的解决方案......因为这些框内的任何内容都将具有0字体大小. (7认同)