私のcssレイアウトの一部は、幅に対するdivの高さを設定して、アスペクト比がすべての画面サイズで同じになるようにします。このように、div の高さを px 値に具体的に設定することはありません。高さは単に幅の縦横比です。以前にこの手法に出くわしたことがない場合は、ここに良い説明があります。
私の特定の問題に...
これを念頭に置いて、高さの 2 倍の幅の次の単純な div を作成しました: (実際の動作を確認するには、このフィドルを参照してください)
<html>
<head>
<style type="text/css">
.container
{
position:relative;
width:50%;/*half the width of the whole page*/
margin:auto;/*center the whole thing*/
}
.relative_container
{
background-color:blue;
position:absolute;
width:100%;
top:0;
left:0;
}
.set_height
{
width:100%;
height:100%;
margin-top:50%;/*aspect ratio 2:1*/
}
</style>
</head>
<body>
<div class='container'>
<div class='relative_container'>
<div class='set_height'></div>
</div>
</div>
</body>
</html>
これまでのところすべて良い。ただし、最初の div の下に別の同一の div を追加したいと考えています。このフィドルでわかるように、それらを互いに重ねる以外の方法で表示することはできません。答えは間違いなく、ここで示されているようにdivをクリアすることにありますが、わかりません。