【问题标题】:Safari and Chrome ignore min-width CSS properySafari 和 Chrome 忽略 min-width CSS 属性
【发布时间】:2011-10-28 10:30:57
【问题描述】:

为什么 Safari 和 Chrome 会忽略 min-width CSS 属性?示例 http://jsfiddle.net/8YFHu/2/ 这适用于 IE 和 Firefox,但不适用于 Safari 和 Chrome。

【问题讨论】:

  • td 上设置min-width 而不是table,它应该可以正常工作。有关支持 table 的更多信息,请参阅 MDN 文章:developer.mozilla.org/en/CSS/min-width#Browser_compatibility
  • 注意 - 它说 min-width 不适用于 IE。它看起来在 IE7 中不起作用,但 8 和 9 确实支持它。

标签: css google-chrome safari webkit


【解决方案1】:

Chrome 和 Safari 根本不支持 table 元素上的 min-width 属性。但是,当应用于表格单元格时,它们会尊重min-width

经过一些快速测试,似乎支持如下:

  • Firefox:支持(在 5 中测试,不确定从哪个版本开始)
  • Internet Explorer:支持(从IE8开始,IE7及以下好像不支持)
  • Chrome:不支持(据我所知所有版本)
  • Safari:不支持(据我所知所有版本)
  • Opera:支持(在 11.5 中测试,不确定从哪个版本开始)

更多信息可以在该属性的MDN article 中找到,尽管文章声称该属性在 IE 中不受支持,即使它是从 IE8 开始的。

CSS2.1 specification 声明 min-width(和 max-width 就此而言)适用于:

所有元素,但未替换的内联元素、表格行和行 组

看来 Chrome 和 Safari 是不符合标准的。

编辑

在进一步查看规范的相关部分后,我注意到它然后指出:

在 CSS 2.1 中,'min-width' 和 'max-width' 对表格的影响, 内联表格、表格单元格、表格列和列组是 未定义。

所以实际上看起来没有人做错了,每个人都可以做自己的事。

【讨论】:

  • 更新 - Chrome 现在似乎确实支持此功能。我不确定什么时候会出现这种情况,但我只是在 Chrome 19 中对其进行了测试。
  • 我注意到 Chrome 在将最小宽度设置为一定数量的像素时似乎支持它,但在将其设置为百分比值时不支持。 Firefox 在这两种情况下都可以。
【解决方案2】:

根据我的经验,在 td 元素上定义宽度通常是不切实际的。对于这个限制,我发现的最佳解决方法是在表格的包含 div 元素上设置最小宽度。

【讨论】:

  • 我同意 Roland Barker 的观点:确保表格最小宽度的最佳方法是在包含表格的 div 上设置最小宽度,并将表格的宽度设置为 100%。跨度>
猜你喜欢
  • 1970-01-01
  • 2012-01-06
  • 2010-10-27
  • 2010-12-04
  • 1970-01-01
  • 2013-02-22
  • 1970-01-01
  • 2013-10-11
  • 2013-04-05
相关资源
最近更新 更多