我想使用display: table-*
CSS屬性來格式化照片列表。我相信下面是它的一個「正確的」實現,因爲理論上它沒有什麼問題,但是它會在Firefox和Safari中顯示錶格佈局搞亂了,就像你在邊界看到的一樣。爲了進行比較,請嘗試將以下兩個img標籤包裝在<div></div>
;這顯示正確。img {display:table-cell} - 它是一個錯誤嗎?
這是特定於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>
你不希望這個工作在IE6/7(或在共同模式下的8)? – cletus 2009-12-30 00:27:20
這不是IE6/7的問題,實際上根據o.k.w.它*僅*在IE中很好地工作,但不在Firefox或Safari中,這是我測試的僅有的兩個瀏覽器。在Firefox和Safari中,img表格單元格上的邊界與其他表格單元格的邊界關閉。 – 2009-12-30 04:27:54
什麼時候適合在Webkit/Firefox上留下錯誤報告?看起來我們已經將問題簡化爲img的呈現方式,將其作爲table-cell內的標記呈現爲帶有border-collapse:collapse的表格。問題與分離的邊界消失。這足以得出一個錯誤報告,或者我們還不確定這種行爲是否符合W3C標準,並且實際上是一個錯誤? – 2009-12-30 15:33:23