ページのbody
の水平方向の中央と垂直方向の中央にdivを揃えたいのですが。
CSS:
.loginBody {
width: 100%;
height: 100%;
margin: 0;
padding: 0;
background: #999; /* for non-css3 browsers */
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#cccccc', endColorstr='#000000'); /* for IE */
background: -webkit-gradient(linear, left top, left bottom, from(#ccc), to(#000)); /* for webkit browsers */
background: -moz-linear-gradient(top, #ccc, #000); /* for firefox 3.6+ */
}
.loginDiv {
position: absolute;
left: 35%;
top: 35%;
text-align: center;
background-image: url('Images/loginBox.png');
width:546px;
height:265px;
}
そして私はこのhtmlを持っています:
<body class="loginBody">
<form id="form1">
<div class="loginDiv">
</div>
</form>
</body>
今は思い通りに動いていますが、ブラウザのサイズを変更すると完全に歪んでしまいます。これは、絶対的な配置が原因であると考えられます。スクリーンショットの一部を表示しています:サイズを変更したFirefoxで:
サイズ変更されたクロム:
サイズ変更された、すなわち:
最大化されたウィンドウでは:
この問題を解決し、相対配置を使用してこの中央揃えを実現する方法はありますか?
ありがとう。
編集:
Firefoxでは、サイズ変更中にスクロールバーは表示されませんが、他のブラウザでは表示されます。
これを試して:
.loginDiv {
position: absolute;
left: 50%;
top: 50%;
text-align: center;
background-image: url('Images/loginBox.png');
width:546px;
height:265px;
margin-left: -273px; /*half width*/
margin-top: -132px; /*half height*/
}
あなたはそれを中央に移動し、左後ろに半分の寸法だけ上に移動します-それはサイズ変更でもそれを中央に配置します
ページのコンテンツ用のdivを作成し、次のCSSを使用して「コンテンツ」クラスを作成します。これは、Androidデバイス用のPhonegapを使用したJquery Mobileで私にとってうまくいきました。誰かの役に立てば幸いです。
CSS
.content {
width: 100%;
height: 100%;
top: 25%;
left: 25%;
right: 25%;
text-align: center;
position: fixed;
}
#div {
height: 200px;
width: 100px;
position:absolute;
top: 50%;
left: 50%;
margin-top: -100px;
margin-left: -50px;
}
これは、divを中央揃えする一般的な方法です。あなたはそれを絶対的に配置し、それから横半分と下半分に移動します。次に、配置するdivの半分の寸法でマージンを使用して位置を調整します。
参考までに(これは固定位置を使用しますが、スクロール時でもdivを適切な位置に保ちます。モーダルポップアップを実行するときに役立ちます.. http://css-tricks.com/quick-css-trick-how-to-center -an-object-exactly-in-the-center /