display: table-*
CSS プロパティを使用して、写真のリストをフォーマットしたいと考えています。以下は、理論的には何も問題がないという点で、「正しい」実装であると思いますが、境界線でわかるように、Firefox と Safari では表のレイアウトが台無しに表示されます。比較のために、以下の両方の img タグを<div></div>
;で囲んでみてください。これは正しく表示されます。
これは img タグに固有のものであり、おそらく、実際にどれだけのスペースを必要とするかに対して、それがどのくらい大きいと考えているかです。これはバグですか?
以下のコードは、この問題の最小限の挑発です。
<!DOCTYPE html>
<html>
<head>
<style>
.photos {display: table; border-collapse: collapse;}
.photos > div {display: table-row}
.photos > div > * {
display: table-cell;
vertical-align: top;
border: 1px solid #000;
padding: 10px;
}
</style>
</head>
<body>
<div class="photos">
<div>
<p>Hello World</p>
<img src="http://www.freeimages.co.uk/galleries/nature/weather/thumbs/frost_oak_leaf_winter_218310.jpg" />
</div>
<div>
<p>Hello World</p>
<img src="http://www.freeimages.co.uk/galleries/nature/weather/thumbs/frost_oak_leaf_winter_218310.jpg" />
</div>
</div>
</body>
</html>