Vol*_*lox 5 html css css3 display
设置时,我有divs(混合空或文本)的对齐问题display: inline-block.有关示例,请参见下图:
正如你所看到的那样,div带有文本的s在某种程度上与其他divs 不对齐.请参阅此 JSFiddle以获取我的问题的工作示例.
我已经知道解决这个问题的一些方法,但我想了解它为什么会发生.我的目标是用最少的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>
Run Code Online (Sandbox Code Playgroud)
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;
}
Run Code Online (Sandbox Code Playgroud)
原因是vertical-align每个文本都有默认值。它具有初始值baseline,因此方向位于基线上。
修复它的最简单和最明智的方法是将其设置为vertical-align: top;:
.actor {
vertical-align: top;
}
Run Code Online (Sandbox Code Playgroud)
演示:JSFiddle