別の div に含まれる div のマージンに % または auto を使用すると、親 div に対して位置が計算されるという印象を受けました。
したがって、 の div がある場合height: 50%
、ボックスは親 div 内で垂直方向に中央に配置する必要がありますmargin-top: 25%
。margin-bottom: 25%
これを行うと、div は親 div ではなくページの中央に配置されます。
CSS
div#header {
width: 100%;
height: 100px;
margin: 0px;
position: fixed;
}
div#leftnavigation {
height: 50%;
margin-top: 25%;
margin-bottom: 25%;
float: left;
}
そしてHTML
<!--Title and navigation bar-->
<div id='header'>
<!--Left navigation container-->
<div id='leftnavigation'>
<p>efwfwgwegwegweg</p>
</div>
</div>
私の場合、上記の div の右側に他の div が浮かんでいますが、どれも同じように動作します。私は何かばかげたことをしていると思いますが、これらの線に沿って見つけることができる他のすべての質問を調べましたが、まだ理解できません.
編集
リクエストされたJSFiddleは次のとおりですhttp://jsfiddle.net/ChtVv/
更新
マージンの制約を削除して、 leftnavigation div を に設定しようとしましたがheight: 100%
、これは機能するため、マージン属性に問題がありますか?