0

画面の中央 (水平および垂直) に div を開きたい。

var documnetWidth = $(document).width(),
  documentHeight = $(document).height(),
  widgetFormHeight = widgetForm.height(),
  widgetFormWidth = widgetForm.width();

widgetForm.css({
  top: documentHeight / 2 - widgetFormHeight / 2,
  left: documnetWidth / 2 - widgetFormWidth / 2
});

私のウィジェットは水平方向に中央になりますが、垂直方向にはオフセットがかかります。

4

3 に答える 3

6

あなたはこれを行うことができます

次のように、DIV のサイズと位置 Fixed を定義します。

div {
     position: fixed;
     top: 50%; 
     left: 50%; 
     width: 200px; 
     height: 100px; 
     margin: -100px 0 0 -50px;
     z-index: 99;
}

または、絶対的な位置に配置したくない場合は、幅を指定して次のように設定できます。

div { margin: 0 auto; }
于 2012-09-01T07:01:40.903 に答える
2

これを試して:

documentHeight = $(window).height(),

それ以外の:

documentHeight = $(document).height(),

あなたが持っていた方法では、ブラウザーの高さよりも多かれ少なかれドキュメントの高さを取得していました。

次に、ドキュメントが現在スクロールされている距離を考慮します。

top: documentHeight/2-widgetFormHeight/2 + $(document).scrollTop(),

デモ: http://jsfiddle.net/vULHL/

于 2012-09-01T06:52:38.860 に答える
0

幅または高さのない絶対中央の DIV:

http://jsfiddle.net/dFkXq/1/

そして、固定要素のように機能します。

于 2012-09-01T16:49:16.380 に答える