我正在尝试垂直对齐父div中的浮动div。由于父div可以包含不同数量的内容,我希望它与垂直对齐而不必在浮动div上设置固定的margin-top。这里的实例,你看到的右箭头位于灰色div的右上角但我希望它垂直居中http://jsbin.com/oriqow/1/
CSS:
.item { vertical-align:middle; border: 1px solid #999; padding: 10px; background: #e6e6e6; border-radius: 4px; }
.item > div:not(.arrow) { margin-bottom:10px; }
.arrow { float: right; }
HTML:
<div class="item">
<div class="arrow">▶</div>
<div>Title</div>
<div>Sub title</div>
<div>Another potential element here</div>
<div>And another</div>
</div>
答案 0 :(得分:4)
将此样式添加到.arrow类:
position: absolute;
right: 0;
top: 50%;
margin-top: -18px;
(并删除浮动:右;)
并将其发送到你的.item课程:
position: relative;
答案 1 :(得分:0)
.item { position:relative; vertical-align:middle; border: 1px solid #999; padding: 10px; background: #e6e6e6; border-radius: 4px; }
.item > div:not(.arrow) { margin-bottom:10px; }
.arrow { position:absolute; top:45%; right:2%; }