0

这是我正在研究的小提琴:http: //jsfiddle.net/fFYqF/

基本上它是一个在它们之间有一些隐藏段落的上面h1h2这一切都包含在一个 div 中,我试图使它在视觉上居中(在屏幕上水平和垂直。我在容器 div 上使用了这个 css 来将其在页面上居中:

div#holder {
    position: absolute;
    top:0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    height:40%;
    width:60%;
    min-width:300px;
}

为此,必须指定 div 的宽度和高度。我有 2 个问题...首先,我不知道 div 的高度,所以我尝试使用 jQuery 动态应用它:

var h = $('#holder').height();
$('#main').css('height', h + 'px');

其次,我还有一点 jQuery 来为打开的文本段落设置动画。这会改变持有人 div 的高度,从而使先前计算的高度不正确,并且 div 不再垂直居中。

有没有办法让持有人 div 始终居中在页面上?即它应该在打开时向上移动。

请参阅上面的小提琴以了解我的意思。谢谢

4

2 回答 2

0

您是否尝试过 .animate 方法?我没有像您描述的那样在垂直居中的情况下对此进行测试,但是当我将其他元素带入视野时,我已经使用这种方法来增加容器的高度。

$('#main').animate({height: '+='h }, 'slow');
于 2013-02-19T19:42:43.130 回答
0

我已经更新了你的小提琴的一个分支,以混合使用.animate()元素的高度和顶部位置,使其看起来像它的开放。

于 2013-02-19T20:23:24.597 回答