1

Chrome 似乎不尊重我在桌子上设置的 .width() 设置。IE10 可以。

页面加载完成后,我得到表格的宽度:425px。然后我删除内容最宽的行,这会使表格重新绘制并且表格的宽度缩小:185px。

然后,我将表格的宽度设置为原始值 425px。但是如果我在设置后检查表格的宽度,它是关闭的(在我的实验中为 2px):423px。

这是一个已知的错误?

我是否使用了错误的获取/设置?

好像和表格边框有关(1px边框X2=2px),但是设置宽度的时候需要做计算来考虑边框吗?

我有一个复制问题的jsfiddle:

http://jsfiddle.net/slolife/zLyQ2/

var orgWidth = $('table').width();
alert('Original width = ' + orgWidth);
$('table').width(orgWidth);
alert('Width after setting width to ' + orgWidth + ' = ' + $('table').width());
$('#two').remove();
alert('Width after remove = ' + $('table').width());
4

1 回答 1

2

这都是关于盒子模型的。

添加

table{
   box-sizing: border-box;
}

该链接是一个非常有趣的阅读,但基本上你强制计算包括与 w3c 规范不兼容的边框和填充。

更新了 jsFiddle

于 2013-06-18T22:09:22.490 回答