【问题标题】:Is there a case when table cell will ignore min-width?表格单元格是否会忽略最小宽度?
【发布时间】:2015-03-15 09:34:37
【问题描述】:

我有一张将table-layout 设置为fixed 的表。在第一行,我有一个td,里面有文字。是这样的:

<table>
    <tbody>
        <tr>
            <td colspan="2" style=" min-width: 250px; width: 100%;">
                <b>Vendor/Firm Information</b>
            </td>
        </tr>
        <tr>
            some content
        </tr>
        ... and so on
    </tbody>
</table>

所以,第一行的宽度实际上小于 250px。它甚至比内容少。所以,我需要知道:有什么理由吗?是否有一些东西不允许表格单元格采用适当的宽度?

我使用旧版本的 Chrome (22.0.1229.0),我认为这是一个错误而不是不正确的样式。

最新 Chrome 中,一切都正常

【问题讨论】:

  • 为什么粗体标签有最小宽度?
  • @dwreck08 我可以删除它。此操作会改变什么吗?
  • 我不确定你在问什么。 td 的宽度设置为“250px”(它是最小宽度),因为内容不超过 250px。见jsfiddle.net/z6t7ug3a/1(蓝色表示全宽)
  • @dwreck08 是的,你是对的。但在我的 chrome 版本中,即使最小宽度为 250 像素,这样的示例也会是 9 或 11 像素。我需要知道是否还有其他因素会影响 td 的宽度。我的意思是,在 css 或特定于浏览器中。

标签: html google-chrome


【解决方案1】:

请在此处查看回复:

Chrome, Safari ignoring max-width in table

要点是“最大宽度”仅适用于块元素。因此将表格设置为“显示:块;”应该可以解决问题。

【讨论】:

  • 我知道有些浏览器不会将max-width 应用于表格标签本身。但我需要将属性应用于td,而不是table
【解决方案2】:

我认为colspan="2"是有原因的。

没有合理的方法在两个跨栏之间拆分最小宽度。所以最小宽度约束只是在跨单元格上被忽略。

【讨论】:

  • min-width 适用于 colspan。例如,如果下面的行中有两个宽度为 50% 的 td:jsfiddle.net/z6t7ug3a/2
  • 我猜不是。在最新版本的 chrome 中也在 ie11 中一切正常。但我会尝试删除它。此外,当我在 td 上手动设置宽度时,一切正常。