2011-08-16 30 views
18

Safari和Chrome爲什麼忽略最小寬度CSS屬性?示例http://jsfiddle.net/8YFHu/2/這適用於IE和Firefox,但不適用於Safari和Chrome。Safari和Chrome忽略最小寬度CSS索引

+7

在'td'而不是'table'上設置'min-width',它應該可以正常工作。有關支持'table'的更多信息,請參閱MDN文章:https://developer.mozilla.org/en/CSS/min-width#Browser_compatibility –

+0

注 - 它表示最小寬度不適用於IE。它看起來在IE7中不起作用,但8和9支持它。 –

回答

19

Chrome和Safari根本不支持table元素上的min-width屬性。但是,應用於表格單元格時,它們將遵守min-width

一些快速的測試後,似乎支持如下:

  • 火狐:支持(在5進行測試,不知道從哪個版本)
  • 的Internet Explorer:支持(自IE8,IE7及以下似乎不支持它)
  • Chrome:不支持(所有版本,據我所知)
  • Safari瀏覽器:不支持(所有版本,據我可以告訴)
  • 歌劇:支持(11.5測試,不知道從哪個版本)

更多信息可以在MDN article被發現在財產上,儘管文章聲稱該財產在IE中不受支持,即使它自IE8以來。

CSS2.1 specification指出min-width(和max-width爲此事)適用於:

的所有元素,但非替換行內元素,表格行和行 組

所以它會似乎Chrome和Safari是不符合標準的。

編輯

剛走看上去有點進一步下跌的規範的相關部分,我注意到則指出:

在CSS 2.1,「最小寬度」的效果,表格中的'max-width', 內嵌表格,表格單元格,表格列和列組爲 未定義。

因此,它看起來像沒有人錯了,每個人都可以做自己的事情。

+2

更新 - 看來Chrome現在*支持*。我不確定,因爲在這種情況下,但我只是在Chrome 19中測試它。 –

+0

我注意到Chrome設置最小寬度爲像素數量時似乎支持它,但在設置爲百分比值。 Firefox在兩種情況下都可以。 –

6

根據我的經驗,在td元素上定義寬度通常是不切實際的。我發現這個限制的最佳解決方法是在表格的包含div元素上設置最小寬度。

+0

我同意Roland Barker:確保表的最小寬度的最佳方法是在包含表的div上設置最小寬度,並將表的寬度設置爲100%。 – 2012-02-01 19:27:08