2013-07-08 2 views
4

У меня есть несколько div (class="badge") для отображения в вертикальной плоскости. Не уверен, почему я получил дополнительное пространство между 2 div в FF и IE (Chrome работает отлично).CSS встроенный блок, создающий дополнительное пространство между двумя вертикальными divs

Мне нужно, чтобы они отображали либо пространство, либо равное пространство во всех браузерах.

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, чтобы обрезать длинный текст.

+0

есть причина для использования здесь дисплей: встроенный блок вместо дисплея: блок? – fcalderan

ответ

1

display: inline-block; Мессинг это. Вместо этого используйте float: left; (возможно, с clear: left;, чтобы убедиться, что каждый значок находится на новой строке). (jsFiddle)

+1

Использование 'float: left;': больше нет лишнего места, но мне нужно написать больше CSS, чтобы сохранить выравнивание значка – anvoz