0

如果我为表格中的元素指定宽度,<th>如果未指定表格布局并且默认为自动,那么对于更宽的表格来说这意味着什么?这样的宽度是否指定了整列的最小宽度?如果是这样,这是在哪里指定的 - 我在 HTML/CSS 规范中找不到任何说明宽度以这种方式解释的内容,但 Firefox 和 IE 似乎都以这种方式解释宽度。

为了把它放在上下文中,想象一个一周中几天的数字数据表(例如产量)。工作日是列标题。我想应对两个条件:

  • 没有特定日期的数据,但我不希望列的宽度折叠到某个丑陋的最小值。相反,我想设置该最小值。
  • 当列中有大量数字时,我希望列的宽度自动扩大以完整显示数字。

当我指定一堆列宽如下...

<tr>
<th style="width:3em">Sun</th>
<th style="width:3em">Mon</th>
<th style="width:3em">Tue</th>
...etc
</tr>

...我达到了我正在寻找的结果。但是,我可以依靠这个吗?

4

2 回答 2

0

是的,您可以依靠它;它在 CSS 规范中,浏览器在这里按本书播放。对于表格单元格,该width属性设置用于计算列宽的最小宽度。

这里的规范有些混乱,因为width属性的描述没有说这个,甚至没有参考描述(据我所知),但这在第 17.5.2.2 节Automatic table layout中有描述。第一个编号列表中的第 1 项说:“计算每个单元格的最小内容宽度 (MCW):格式化的内容可以跨越任意数量的行,但不能溢出单元格框。如果单元格的指定“宽度”(W) 大于 MCW,则 W 是最小单元格宽度。'auto' 值意味着 MCW 是最小单元格宽度。”</p>

于 2013-01-29T06:04:25.373 回答
-1

要设置允许的最小宽度并在需要时让字段扩展得更宽,请使用类似这样的东西

th {
  width: auto; /* This is default, but shown here for clarity */
  min-width: 100px; /* or whatever size need be */
}
于 2013-01-29T02:01:17.570 回答