Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 使用百分比高度时,表格行单元格未填充整个表格高度_Jquery_Html_Css_Webkit_Html Table - Fatal编程技术网

Jquery 使用百分比高度时,表格行单元格未填充整个表格高度

Jquery 使用百分比高度时,表格行单元格未填充整个表格高度,jquery,html,css,webkit,html-table,Jquery,Html,Css,Webkit,Html Table,我有一个表,它根据浏览器的高度改变大小。表格行内的单元格具有一定的高度百分比,因此当表格调整高度时,它们会自动调整大小 但是,对于某些高度值,单元格没有完全占据表格的空间,存在几个像素的间距: 我对发生这种情况的原因的预测是因为它无法在行之间平均分配高度值,因此会向下舍入分数结果,以防止单元格溢出表外 我的解决方案是计算余数,将其四舍五入,然后使用JavaScript将其应用于最下面一行的单元格。这意味着一行比其他行稍高,但就我而言,这并不重要 因此,在我的函数中,当窗口改变高度时,我会调整表

我有一个表,它根据浏览器的高度改变大小。表格行内的单元格具有一定的高度百分比,因此当表格调整高度时,它们会自动调整大小

但是,对于某些高度值,单元格没有完全占据表格的空间,存在几个像素的间距:

我对发生这种情况的原因的预测是因为它无法在行之间平均分配高度值,因此会向下舍入分数结果,以防止单元格溢出表外

我的解决方案是计算余数,将其四舍五入,然后使用JavaScript将其应用于最下面一行的单元格。这意味着一行比其他行稍高,但就我而言,这并不重要

因此,在我的函数中,当窗口改变高度时,我会调整表的大小,我添加了以下代码,希望它能解决这个问题:

var divisionResult = tableHeight/rowsNeeded;

var roundedDivision = Math.round(divisionResult);
var remainderPercentage = Math.ceil(100 - divisionResult); 

if (divisionResult % 1 !== 0) {
    //not an integer        

    if (rowsNeeded == 4) {
        //setting it only on the first cell applies to the entire row

        $("table tr:nth-last-child(2)").children().first().css("height", remainderPercentage+"%");
    } else if (rowsNeeded == 5) {
        $("table tr:last-child").children().first().css("height", remainderPercentage+"%");
    }
}
还值得注意的是,当页面加载时,以及在resize函数中,
$(window.resize()

当我测试它时,它的初始工作高度很小(<600px),但对于大于该高度的值,它仍然会在表的底部添加2-3像素的间距

我在表的底部有一个不可见的行,当某些任务不需要时,它会隐藏自己(使用jQuery的
hide()
函数),这会影响它吗

还有其他人遇到过这种情况吗?如果是,你用什么方法克服它?我完全没有主意了

如果有什么帮助的话,我使用的是Chrome 28,这个问题在Firefox 22上看起来并不明显,但在Safari 6上却很明显(这让我觉得这是一个WebKit问题)


谢谢。

只是为了排除理论推导的可能性:表格的cellspacing=0吗?不,它不是,它只是一个常规表格。如果将cellspacing=0放在表格参数中会发生什么?它不会改变任何东西,问题仍然存在。黑匣子图像是吗。如果不使用标记(或演示),我们可以整天坐在这里猜测。