垂直中间对齐div中的文本

时间:2014-09-16 09:24:14

标签: html css alignment

我的演示在这里:

http://jsfiddle.net/hrhktkbzyy/6b6s03ts/1/

HTML:

<div class="container divinline">
    <div class="firstrow">
        <div class="col1 divinline">COLUME 1</div>
        <div class="col2 divinline">COLUME 2</div>
    </div>
    <div class="secondrow">ROW TWO</div>
</div>

CSS:

.divinline{
    display:inline-block;
}

.container{
    height:80px;
    background:#ffee12;
    width:50%;
    text-align:left;
    color:#FFF;

}

.firstrow{
    background:#450011;
    height:60%;
    font-size: 0;
}

.secondrow{
    background:#333333;
    font-size:12px;
    height:40%;
}

.col1{
    background:#ffff00;
    height:100%;
    width:50%;
    font-size:12px;
}

.col2{
    background:#ff0000;
    height:100%;
    min-width:30%;
    font-size:12px;
}

我想要做的是垂直对齐文字&#39; COLUME 1&#39;和&#39; COLUME 2&#39;到中间(或到底部)。

任何人都可以提供帮助,将受到高度赞赏。感谢。

3 个答案:

答案 0 :(得分:1)

您可以使用line-height

.firstrow{
   ...
   line-height: 50px;
}

更新 DEMO (您的jsfiddle)

答案 1 :(得分:0)

您可以使用display: table-cellvertical-align:middle来执行此操作。适用于IE 8以上的所有浏览器。

JS Fiddle Here

答案 2 :(得分:0)

我推荐&#34; line-height&#34;方法也是如此。但是如果你不确定你的div高度,你总是可以使用简单的jquery。

$(document).ready(function(){
    var height = $('.firstrow').height();
    $('.divinline').css('line-height', height + 'px'); 
});

JS Fiddle