Lino Rosa が言及したような Absolute Centeringは、高さの問題を修正するなど、応答性の高いタッチを追加しながら、水平方向と垂直方向のセンタリングを簡単に行うための最良のアプローチです。
理想的には、コンテンツがビューポートによって変化するように、幅と高さの宣言にパーセンテージを使用する必要があります。もちろん、ピクセルだけが必要な場合もあります:-)
これが私がやったことです:
.Absolute-Center {
position: absolute;
top: 0; right: 0; bottom: 0; left: 0;
margin: auto;
}
#container {
width: 960px;
max-width: 90%;
height: 740px;
max-height: 90%;
overflow: auto;
}
a と を設定するmax-height
とmax-width
、幅が 960 ピクセル未満、高さが 740 ピクセル未満であっても、ボックスがコンテナー (この場合はブラウザー ビューポート) の 90% を超えることはありません。そのため、小さな画面でも中央のボックスが適切に表示されます。overflow: auto
コンテンツがボックスよりも長い場合、ユーザーがボックス内をスクロールして残りを表示できるようにします。
デモを見る
画面サイズに関係なく、正確に 960px x 740px のボックスが必要な場合 (小さなウィンドウですべてのコンテンツを表示するには、ユーザーがスクロールしなければならない場合)、次の#container
ようにメディア クエリを使用して絶対センタリング スタイルのみを適用します。
#container {
width: 960px;
height: 740px;
overflow: auto;
margin: auto;
}
@media screen and (min-height:740px) and (min-width: 960px) {
#container {
position: absolute;
top: 0; right: 0; bottom: 0; left: 0;
}
}
デモを見る