css - 绝对可靠的固定 TD 宽度?

标签 css html width html-table

我现在正在摆弄表格列宽。由于 width 属性在 HTML5 中被弃用,我试图通过 CSS 设置表格列宽。但是由于某种原因,这不能可靠地工作。

更具体地说...

我想通过使用表格来构建甘特图(对于那些还没有听说过的人来说,这是一种时间表)。每个月都由许多代表相应月份天数的列构成。 header 使用 colspan 跨越一个月的所有天数。每天应该是 10px 宽度。因此,跨越 31 天(例如一月)的 TD 装饰有属性 style="width: 310px"。

此外,元素任务由三个跨越的列组成:第一列是元素开始和任务开始日期之间的空闲时间,第二个跨越的列是任务处于事件状态的时间,第三列是任务本身结束与整个元素结束日期之间的时间。

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

奇怪的是,这些列似乎以某种方式忽略了它们的宽度设置。它在 FireFox 提供的 DOM 检查器中可见。它没有被删除,所以它被接受并在 DOM 中实际使用,但 TD 的计算宽度不反射(reflect)此设置。有些 TD 比样式属性给定的宽度更小,有些更宽。

我就是不明白为什么。

那么,有没有办法将一组跨列的宽度设置为绝对可靠且可重复的固定值?

最佳答案

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

不像普通元素,其中一个 width:设置是金色的,表格单元格可以根据其内容具有不同的宽度。表格单元格的内容可能永远不会泄露。所以如果你有一个更长的单元格,它会扩大宽度,覆盖你的 width:设置,因此也“弄乱”了其余的单元格(如果所有单元格的宽度都是固定的)。

我的建议:给出 <table>本身是一个宽度,让它自己整理出来。结果通常是最佳的。

关于css - 绝对可靠的固定 TD 宽度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13635553/

相关文章:

html - CSS - 这种流畅的布局可以实现吗?

php - 重定向到同一页面后如何调用jquery函数?

css - 如何使用 CSS 在叠加层中获得 100% 的宽度

html - 获取元素以使用可用的最大宽度,具体取决于元素的实例数量

php - 从 mysql 表中获取文本,编辑它并使用 php 打印它

html - 将另一个 Div 标签添加到同一行

html - 全屏背景图像与页脚位置产生冲突

css - 不能将输入提交按钮上的文本样式设置为粗体?

html - 删除链接中图像下的线

javascript - 我们可以在 Select Onchange javascript 上调用 lightbox 吗?