CSS内联块导致2个垂直div之间的额外空间

时间:2013-07-08 14:22:24

标签: css

我有几个div(class="badge")要在垂直方向显示。不知道为什么我在FF和IE中的2 div之间有额外的空间(Chrome工作正常)。

我需要它们在所有浏览器中显示无空间或相等空间。

http://jsfiddle.net/2hxak/1/

HTML:

<div class="stat-badges">
    <div class="badge">
        <div class="stat-num">123456</div>
    </div>
    <div class="badge">
        <div class="stat-num">0</div>
    </div>
</div>

CSS:

.stat-badges {
  text-align: center;
  width: 55px;
}
.badge {
  display: inline-block;
  padding: 2px 4px;
  color: #ffffff;
  vertical-align: baseline;
  white-space: nowrap;
  background-color: #999999;
}
.badge .stat-num {
  max-width: 30px;
  min-width: 20px;
  padding: 3px 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

如果删除overflow: hidden;,空格将会消失。我保留overflow: hidden ellipse来裁剪长文字。

2 个答案:

答案 0 :(得分:13)

将徽章类规则中的vertical-align: baseline;更改为vertical-align: top;

<强> jsFiddle example

答案 1 :(得分:1)

display: inline-block;搞砸了这一点。请改用float: left;(可能使用clear: left;以确保每个徽章都在新行上)。 (jsFiddle