Css 绝对可靠的固定TD宽度?

Css 绝对可靠的固定TD宽度?,css,html,width,html-table,Css,Html,Width,Html Table,我现在正在摆弄表格的列宽。由于width属性在HTML5中被弃用,我试图通过CSS设置表列宽。然而,由于某些原因,这并不可靠 更具体地说 我想通过使用一个表格来构建一个甘特图(对于那些还没有听说过甘特图的人来说是一种日程安排)。每个月由若干列构建,这些列表示相应月份的天数。表头使用colspan在一个月的所有天数内进行跨距。每天的宽度应为10px。因此,跨越31天(例如1月)的TD将使用属性style=“width:310px”进行装饰 此外,项目任务由三个跨栏组成:第一栏是项目开始到任务开始日

我现在正在摆弄表格的列宽。由于width属性在HTML5中被弃用,我试图通过CSS设置表列宽。然而,由于某些原因,这并不可靠

更具体地说

我想通过使用一个表格来构建一个甘特图(对于那些还没有听说过甘特图的人来说是一种日程安排)。每个月由若干列构建,这些列表示相应月份的天数。表头使用colspan在一个月的所有天数内进行跨距。每天的宽度应为10px。因此,跨越31天(例如1月)的TD将使用属性style=“width:310px”进行装饰

此外,项目任务由三个跨栏组成:第一栏是项目开始到任务开始日期之间的未占用时间,第二栏是任务处于活动状态的时间,第三栏是任务本身结束到整个项目结束日期之间的时间

我希望这个解释能帮助你解决我的问题

奇怪的是,这些列似乎忽略了它们的宽度设置。它在DOM检查器中可见,就像FireFox提供的那样。它没有删除,所以它被接受并实际用于DOM中,但计算出的TD宽度并不反映此设置。一些TDs比“样式”属性给定的宽度小,其他TDs比“样式”属性给定的宽度宽

我不明白为什么


那么,有没有一种方法可以将跨距列集的宽度设置为绝对可靠且可重复的固定值?

表格单元格宽度的计算方式不同

与正常元素不同的是,
宽度:
设置为金色,表格单元格可以根据其内容具有不同的宽度。表格单元格的内容可能永远不会泄漏。因此,如果您有一个较长的单元格,它将扩展宽度,覆盖
宽度:
设置,从而“弄乱”其余单元格(如果所有单元格的宽度都固定)


我的建议是:给
本身一个宽度,让它自己分类。结果通常是最佳的。

正如您在提供的提琴中所看到的,THs和TDs中有不同的宽度设置。我删除了每个TD的宽度设置,只保留THs中的设置。在每个TD元素中插入一个div并设置所需的宽度。这将确保宽度是固定的

<table>
  <tr>
      <td><div style="width: 200px;">Fixed 200px width</div></td>
  </tr>
</table>

固定200px宽度

在每个td中插入div或
标记,并设置div或
的宽度,而不是
本身。。
前几天我也遇到过同样的问题,但现在它正在工作。

您是否有演示或示例来显示您观察到的行为?我有。但是你想用哪种方式得到它呢?HTML代码?还是截图?由于甘特图背后的数据是保密的,所以我无法为您提供一个有效的示例。我可以为它创建一些虚拟数据来制作这样一个工作示例。然而,这需要一些时间。。。我会看看我能做些什么。@SeveQ创建一个@SeveQ:最好是编辑问题本身以包含它。我喜欢人们说“为什么要使用CSS进行布局?这对表格很容易。”如果内容是我想显示的重要内容,这就行了。但事实并非如此。是单元格宽度本身携带了信息。记住,我想显示的是甘特图。这些细胞不含任何东西。他们只是根据他们的意思得到不同的背景颜色。