如何垂直对齐底部

时间:2013-11-12 18:52:12

标签: html css

考虑以下HTML和CSS:

HTML

<div class="eq">
    <span class="bar"></span>
    <span class="bar"></span>
    <span class="bar"></span>
    <span class="bar"></span>
    <span class="bar"></span>
</div>

CSS

.bar {
    background-color: green;
    width:15px;
    height:40px;
    display: inline-block;
    vertical-align: bottom;
    position: relative;
    bottom:0;
}

.eq {
    min-height:50px;
    border:1px solid blue;
}

我想垂直对齐:在蓝色div内部的绿色条底部,但它似乎不起作用。有什么想法吗?

JS小提琴:http://jsfiddle.net/qRH33/

2 个答案:

答案 0 :(得分:2)

我最初虽然将.bar更改为display:table-cell,但仍然有效,(example)但是,在此过程中,单元格与父元素的高度相同。

想到的唯一解决方案是包装span元素:

<div class="eq">
    <div id="bars">
    <span class="bar"></span>
    ...
    <span class="bar"></span>
    </div>
</div>

然后使用以下CSS (example) - 它可以工作。

.bar {
    background-color: green;
    width:15px;
    height:40px;
    display: inline-block;
    vertical-align:bottom;
}
#bars {
    display:table-cell;
    vertical-align:bottom;
}
.eq {
    min-height:100px;
    border:1px solid black;
    display:table;
}

基本上,我们会将display:table-cellvertical-align:bottom分配给包装元素#bars。这适用于不同的高度。 (example)

请注意,.bar元素之间的间距是因为它们是inline-block元素。如果您想阻止这种情况,请参阅此(example)

答案 1 :(得分:0)

只需给line-height容器div,即等于div的高度。

line-height: 50px;

这是JSFiddle