保持线高度垂直居中div没有固定高度

问题描述:

我正在使用标准网格系统的响应网站,所以我的div不能有一个固定的高度。有了这说,我已经安装了一个小提琴文件模拟我的问题。我在桌面上有一个50像素的高分辨率,并将行高设置为50.因此文本垂直居中在div中。如果你让窗口更窄,这条线最终将会打破。有没有一种方法可以保持内容在中断后保持垂直居中,因此看起来很糟糕?保持线高度垂直居中div没有固定高度

这里是一些代码:

.box { 
    width: 100%; 
    min-height: 50px; 
    line-height: 50px; 
    font-size: 16px; 
    color: #fff; 
    background-color: #000; 
    text-align: center; 
} 

这里是小提琴文件:http://jsfiddle.net/HFAew/

不能在CSS verticaly中心,但你有不同的情况下,一些解决方法。在你的情况下,我建议使用display:table;在一个包装:http://jsfiddle.net/HFAew/1/

<div class="verticalCentered"> 
    <div class="box"> test content test content test content test content</div> 
</div> 

CSS:

.verticalCentered { 
    display: table; 
    height: 100px; /*variable*/ 
    width: 100%; 
} 

.box { 
    display: table-cell; /**/ 
    vertical-align: middle; /**/ 
    line-height: 50px; 
    font-size: 16px; 
    color: #fff; 
    background-color: #000; 
    text-align: center; 
} 

但要记住它有问题的时候。只有在某些情况下才有用。其他方法:http://www.vanseodesign.com/css/vertical-centering/

+0

感谢您的帮助。其实问题没有解决。我的意思是,当换行符让我们说成3行(取决于如何缩小)时,它们现在间隔很远。我希望有一种方法可以将线条靠得更近,并保持在父母的垂直中心区域。当你的例子中的线断开时,看看线之间有多少空间。 – DC1 2013-02-23 18:07:11

+1

当然。因为你把line-height:50px;它定义了段落中单行的高度。例如,将其设置为** line-height:1.5em; **:http://jsfiddle.net/HFAew/10/ – 2013-02-23 18:09:35

+0

就是这样!非常感谢。我感谢你的帮助! – DC1 2013-02-23 18:26:21