動的 (高さが変化する) コンテンツ領域を (画面サイズに関係なく) ユーザー画面の垂直方向の中央に配置できるようにするにはどうすればよい100px
ですか?
これが図です:
この問題の解決に CSS のみを使用するか、JavaScript のみを使用するかは完全にはわかりません。そのため、すべての提案を歓迎します。
動的 (高さが変化する) コンテンツ領域を (画面サイズに関係なく) ユーザー画面の垂直方向の中央に配置できるようにするにはどうすればよい100px
ですか?
これが図です:
この問題の解決に CSS のみを使用するか、JavaScript のみを使用するかは完全にはわかりません。そのため、すべての提案を歓迎します。
テーブルのない JavaScript ベースのソリューション (多様性を追加するため)
HTML
<div id="container">
<div id="topbar">You can't touch me</div>
<div id="content">Aliquam erat volutpat...</div>
</div>
CSS
div#topbar {
border: 2px dashed red;
height: 50px;
text-align: center;
}
div#content {
background: #90c0ff;
width: 260px;
margin: 0px auto;
position: relative;
}
Javascript
var content = document.getElementById('content');
var topMargin = (window.innerHeight - document.getElementById('topbar').offsetHeight - content.offsetHeight) / 2;
if (topMargin < 0) {
topMargin = 0;
}
content.style.top = topMargin + 'px';
JS なしでも可能ですが、それは確かに難しく、古い (<9) IE バージョンと互換性のない大量の CSS コードを使用する必要があります。
コンセプトは次のとおりです。
必要に応じて、jsfiddle でこれを行うことができます。
を使用してhtml5宣言を有効にしたことを確認してください<!DOCTYPE html>
その後、<center style="width:100%;"></center>
タグを使用して要素を一元化します。
上記のタグ内の要素はすべて一元化され、レスポンシブになります。