为什么我的内联块之后有空格?

时间:2014-09-25 14:43:04

标签: html css layout css-float whitespace

我正在使用浮动样式删除空格,我想将其居中,但在div#bar

之后出现另一个空白区域

enter image description here

这是我的HTML:

<div id="foo">
    <div id="bar">
        <div class="divo divo1">test1</div>
        <div class="divo divo2">test2</div>
        <div class="divo divo3">test3</div>
        <div class="divo divo4">test4</div>
    </div>
</div>

和css:

#foo {
    width: 100%;
    background: #999;
    text-align: center;
}
#bar {
    display: inline-block;
}
.divo {
    display: block;
    float: left;
}

http://jsfiddle.net/Kodam/ay3ywtqa/

注意:我不想使用负边距或字体大小为0的样式。

2 个答案:

答案 0 :(得分:9)

由于#bar是内联元素,因此它为下行文本元素(例如j,y,g)保留了空间。你可以向左漂浮,但这会使它崩溃,所以我建议将垂直对齐设置为顶部:

#bar {
    display: inline-block;
    vertical-align:top;
}

<强> jsFiddle example

答案 1 :(得分:1)

试试这个:

   #foo {
        width: 100%;
        background: #999;
        font-size:0;
        text-align: center;
    }
    #bar {
        display: inline-block;
        font-size:13px;
    }

将父级字体大小设置为0,然后将所需的字体大小设置为子级。

jsFiddle:http://jsfiddle.net/ay3ywtqa/3/