display:table を使用して、ネストされた行と列のセットのレイアウトを作成しています。テーブルセルの最初の要素がテキスト以外の場合、列の配置が崩れているように見えることに気付きました。確かに、これを引き起こす要素をテストしていませんが、この JSFiddle に例があります: http://jsfiddle.net/ekx4v/
コード:
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
#container {
width:200px;
height:200px;
display:table;
}
#column1 {
display:table-cell;
background-color:blue;
}
#column2 {
display:table-cell;
background-color:red;
}
</style>
</head>
<body>
<div id="container">
<div id="column1">
Col1
<form>
<select size="2">
<option>Options go here...</option>
</select>
</form>
</div>
<div id="column2">Col2</div>
</div>
</body>
</html>
"Col1" テキストを削除すると、2 番目の列が整列しなくなります。これが他のブラウザで再現されない場合のために、Chrome で撮影したスクリーンショットをいくつか示します。
「Col1」の場合:
「Col1」なし:
Firefox でも同じ結果が得られます。これは予想される動作ですか?もしそうなら、すべての div の先頭にテキストを配置する必要がないように回避策はありますか?