こんにちは、外側の div 内に 2 つの内側の div (タイトル バーとキャンバス) を収容しようとしています。内側の div は動的に生成され、幅と高さが固定されています。
(静的) コードの例は以下のとおりですが、実際のコードの例は次のとおりです。
<!DOCTYPE html>
<html>
<head>
<style>
.plugin {
position: absolute;
z-index: 800;
border-bottom-right-radius: 5px;
-webkit-box-shadow: 5px 5px 12px 1px rgba(0, 0, 0, 0.6);
box-shadow: 5px 5px 12px 1px rgba(0, 0, 0, 0.6);
}
.plugin_title {
font-size: 13px;
color: rgba(255, 255, 255, 0.9);
font-family: arial;
background-color: #300;
z-index: 150;
height: 20px;
border-bottom: 1px solid whitesmoke;
}
.plugin_canvas {
position: relative;
background-color: black;
border: 1px solid #300;
border-bottom-right-radius: 5px;
z-index: 800;
}
</style>
</head>
<body>
<div class="plugin">
<div class="plugin_title">
<span>Plugin Title</span>
</div>
<canvas width="428" height="348" class="plugin_canvas"></canvas>
</div>
</body>
</html>
ご覧のとおり、class の div は.plugin
、内側の div とキャンバス div に対応するように引き伸ばされ.plugin_title
ますが、高さが 5 ピクセルだけ「大きく」なります。
この例では、私の計算によると、css タイトルの高さは 20px + 1px 下の境界線 = 21px です。キャンバスの高さは 348px + 1px 上枠 + 1px 下枠 = 350px です。.plugin
開発者ツールによると、2 つの合計は 350px + 21px = 371px で、親は 376px です。これは、下の影が希望する場所から 5 ピクセル下にオフセットされているため、特に顕著です。
なぜこれが起こるのですか?この問題に対する CSS (no-javascript) ソリューションはありますか?
重要: コンテナー ( .plugin
) div は、内部 div の前に生成されます。したがって、作成時にキャンバス div の高さがわからないため、コンテナ div で高さを設定することはできません。内側の div を作成した後、コンテナの div の高さを計算して再設定することはできましたが、CSS のみのソリューションを探していました。