table-cell
css プロパティを使用するレイアウトで非常に奇妙な動作に出くわしました。現在のFF、Safari、およびChromeで次のコードを試しました。振る舞いはどこでも同じです。
私の質問は、誰かがなぜこれが起こるのか知っているかどうかです. それはブラウザのバグですか、それとも定義された動作ですか? 問題を解決する方法についてのヒントがあるこの質問を見つけましたが、そもそもなぜこれが起こっているのか知りたいです。他の人も知りたいと思います。
問題:
2 番目のテーブル セルでコメントすると、すべて問題ありません。ただし、divが空のままの場合、他の 2 つのセルのコンテンツには「オフセットトップ」のようなものがあります。このオフセットは、中央のセルの高さと同じ寸法です。つまり、外側のセルの内容が下に移動します。2 つのスクリーンショットdiv_not_empty.pngとdiv_empty.pngを追加しました。
ありがとう
更新 スクリーンショットを忘れました。どうぞ:
コード:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=utf-8">
<title>Strange behavior with table-cell formatting</title>
<style type="text/css" media="screen">
#table {
display: table;
background: #efefef;
}
div.cell {
display: table-cell;
}
#c1 div.content {
width: 200px;
}
#c2 {
border-left: 2px solid #ccc;
}
#c2 div.content {
height: 150px;
width: 150px;
background: #aaa;
vertical-align: bottom;
}
#c3 {
width: 200px;
border-left: 2px solid #ccc;
}
</style>
</head>
<body>
<div id="table">
<form id="c1" class="cell">
<div class="content">
Lorem ipsum dolor sit amet, consectetur adipisicing
elit, sed do eiusmod tempor incididunt ut.
</div>
</form>
<div id="c2" class="cell">
<div class="content">
<!-- -->
</div>
</div>
<div id="c3" class="cell">
<div class="content">
Dolore magna aliqua. Ut enim ad minim veniam,
quis nostrud exercitation ullamco laboris nisi ut
aliquip ex ea commodo consequat. Duis aute irure
dolor in reprehenderit.
</div>
</div>
</div>
</body>
</html>