CSS中的垂直对齐?

时间:2009-05-05 05:15:53

标签: javascript css vertical-alignment

所以我对vertical-align: middle;的问题以及人们用来垂直对齐CSS中元素的不同方法了解了所有问题。但我没有找到一个适合我需要它工作的东西。

基本上我的页面上只有一个<div>,我希望它位于页面的中心,水平和垂直。显然水平部分很容易,但我会挂在垂直部分。我的问题是<div>的高度未知;内容发生了变化,因此无法为其指定高度。

有人对我有任何提示吗?如果有必要,我愿意使用JavaScript。谢谢!

2 个答案:

答案 0 :(得分:3)

长话短说,你need two divs只能获得CSS垂直居中。

使用Javascript,您可以do it with a single div

答案 1 :(得分:0)

正如你所说的,你不介意使用JS,这里是......(我一般都不会回到JS解决方案,但如果你对它很酷,那么我也是如此)

如果你的CSS是

#element {
    position: absolute;
    top: 50%;
}

然后你可以使用我的朋友jQuery

$(document).ready(function() {
    var height = $('#element').height();
    $('#element').css({marginTop: '-' + (height / 2) + 'px'})

{);

注意,这是未经测试的,但应该是一个开始。希望高度/ 2可以按预期工作,如果没有,请尝试使用parseInt();