【发布时间】:2016-03-29 01:44:54
【问题描述】:
当设置display: inline-block 时,我遇到divs(混合为空或与文本)的对齐问题。示例见下图:
如您所见,带有文本的divs 不知何故与divs 的其余部分不一致。请参阅 thisJSFiddle 了解我的问题的工作示例。
我已经知道一些解决此问题的方法,但我想了解它发生的原因。我的目标是通过最少的 CSS 更改(可能不修改 HTML)来解决这个问题。
HTML
<div class="bar">
<div class="actors">
<div class="actor" style="background-image: url('http://lorempixel.com/32/32/')"></div>
<div class="actor" style="background-image: url('http://lorempixel.com/32/32/')"></div>
<div class="actor num"><span>5</span></div>
<div class="actor" style="background-image: url('http://lorempixel.com/32/32/')"></div>
<div class="actor num"><div>6</div></div>
</div>
<div class="lol">lol</div>
</div>
CSS
.bar {
height: 40px;
border-bottom: 1px solid #000;
}
.actors {
float: left;
}
.actor {
display: inline-block;
width: 34px;
height: 34px;
background-color: gray;
border-radius: 16px;
border: 1px solid red;
}
.num {
}
.lol {
float: right;
}
【问题讨论】:
-
尝试为
inline-block元素添加vertical-align:middle