2012-02-05 42 views
9

考慮the following code爲什麼不與流體圖像孩子IE尊重表格寬度

HTML:

<table> 
    <tr> 
     <td><img src="http://watduck.jpg.to" /></td> 
    </tr> 
</table> 

CSS:

table { width: 10% } 
img { max-width: 100% } 

的圖像顯然應該是一個第10個窗口的寬度,這正是除了IE之外的每個瀏覽器的情況,它只是回落到了i ts原始大小。

然而,consider this

HTML:

<div><img src="http://watduck.jpg.to" /></div> 

CSS:

div { width: 10% } 
img { max-width: 100% } 

其IE瀏覽器得到正確的,並顯示在窗口寬度的十分之一。


所以,這裏的問題:是什麼原因導致這種行爲,怎麼可能做強制IE尊重表格的寬度?

測試IE8 & IE9(不關心IE7及以下)。

回答

24

如果您在表css中指定,它將起作用。

關於表格佈局的標準似乎有一些矛盾的術語。特別地,table-layout: auto;這樣說:

列的寬度是由最寬牢不可破含量在細胞

由於圖像內容是牢不可破設置,則設置單元格的寬度的大小內容。最大寬度似乎被它覆蓋。

+3

+1。自動錶格佈局算法是你的敵人。 – bobince 2012-02-05 13:30:28

+0

謝謝,就是這樣。任何想法爲什麼所有其他現代瀏覽器都贊同'max-width',而IE似乎忽略它? – 2012-02-05 16:51:50

+0

@JosephSilber - 你是否在兼容模式下渲染?您的真實網頁是否有適當的文檔類型? – 2012-02-05 20:53:24