【问题标题】:Can't force <td> element to obey certain size constraints不能强制 <td> 元素遵守某些尺寸限制
【发布时间】:2013-08-07 23:26:37
【问题描述】:

我有一张桌子:

  • 第一行和第一列(期望原点 (0;0) 单元格)包含按钮;

  • 最后一行和最后一列(除了各自的第一个单元格)是空的;

  • 中间的所有其他单元格(即不靠近表格边框)都是键;

  • 表格大小使用 JavaScript 动态变化。

  • 所有关键单元格(中间)的大小取决于它们的数量和列/行跨度。比如有 4 个水平键,如果第二个键的 colspan 为 2,则大小分别为 25%、50%、25%,而第三个键不存在。

jsFiddle 你会看得更清楚

我希望包含按钮的 &lt;td&gt; 元素遵守以下约束:

  • 对于水平按钮集(在第一行),固定高度为 20 像素;

  • 对于垂直按钮集(在第一列),固定宽度与上面的大小相同(这将导致方形 (0;0) 单元格);

  • 第一行的最后一个按钮 (class="AddCol") 必须与该行中的其他按钮具有 相同的宽度(事实并非如此,我不这样做)不明白为什么这不是自动的……);

  • 第一列的最后一个按钮 (class="AddRow") 必须与该列中的其他按钮具有相同的高度(相同)。

你知道我该怎么做吗?我试图添加隐藏内容来填充“空”单元格”,我试图强制不同元素的大小等等......但我现在没有想法。

【问题讨论】:

    标签: html css size html-table


    【解决方案1】:

    在设置&lt;td&gt; 元素的大小时尝试table-layout: fixed;。

    【讨论】:

    • 真的可以这么简单吗?让我们试试吧。
    • 嗯,我很难让它工作。您能否更具体一点,或者您会修改 myfiddle 吗?谢谢。
    • 看看this jsfiddle。第一列上最后一个按钮的问题在于它填满了表格的其余部分,而不是占用它应该拥有的空间。为了使其大小相同,该行将需要使浏览器认为它足够重要以为其提供更多空间的内容。由于您的表格在您的 JavaScript 中是动态调整大小的,因此除非我看到,否则我无法进一步帮助您。但这应该可以满足您的大部分需求。
    • 感谢您的帮助!对于第一列的最后一个按钮,它工作正常。正如你所说,我添加了一个虚拟内容以及可见性:隐藏;但是 ti 的高度比它上面的按钮小了几个像素。我真的不明白为什么。一旦我添加了内容,它不应该是一样的吗?是不是边框有问题?
    • 边界导致了这个问题。你可以接受几个像素吗?如果没有,将黑色边框添加到tds 本身可能会有所帮助。设置visibility: hidden 不是一个很好的解决方案。尽量避免虚假内容。也许灰色按钮的内容可能是行/列号?
    猜你喜欢
    • 2016-10-06
    • 1970-01-01
    • 2014-10-08
    • 2023-03-24
    • 1970-01-01
    • 1970-01-01
    • 2016-05-17
    • 2013-07-19
    • 2021-01-08
    相关资源
    最近更新 更多