0

これが私が取り組んでいるフィドルです: http://jsfiddle.net/fFYqF/

基本的には、それらの間にいくつかの非表示の段落があるh1上のものです。h2これはすべて、視覚的に中央揃えにしようとしている 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');

2 つ目は、開いているテキストの段落をアニメーション化するための jQuery です。これにより、ホルダー div の高さが変更されるため、以前に計算された高さが不正確になり、div が垂直方向の中央に配置されなくなります。

ホルダー div を常にページの中央に配置する方法はありますか? つまり、開いているときに上に移動する必要があります。

上記のフィドルを参照して、私の意味を確認してください。ありがとう

4

2 に答える 2

0

フィドルのブランチを更新して、要素の高さと上部の位置を組み合わせて使用.animate()​​し、開いているように見せました。

于 2013-02-19T20:23:24.597 に答える
0

代わりに .animate メソッドを試しましたか? あなたが説明しているような垂直中心の状況ではこれをテストしていませんが、他の要素を表示するときにこの方法を使用してコンテナの高さを増やしました。

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