我有 2 个具有相同行数的表并排保存,以实现固定第一列(左侧第一个表)和可水平滚动的其余列(右侧第二个表)的要求。在加载时,根据这些表格行高中的内容 [label、image、textArea & etc] 大小正在调整为左右对齐。
这是通过将行的更高值 offsetHeight 与同一表行和其他表行的 style.height 进行比较和分配来实现的。
for (x.rows) {
if(x.rows[i].offsetHeight > y.rows[i].offsetHeight) {
y.rows[i].style.height = x.rows[i].offsetHeight;
}
}
这在 IE6 到 IE10 中工作了很多年,在 IE11 中我们开始看到未对齐问题。我仍然没有转向标准投诉[仍然 IE8 兼容性]。
进一步的研究和以下类似表明的 offsetHeight 计算会有所不同。 https://msdn.microsoft.com/en-us/library/ms534199(v=vs.85).aspx
所以我必须将代码更改为下面并在我的本地机器 IE11/Windows 8 中修复问题。x.rows[i].style.height = y.rows[i].style.height = x.rows[i]。偏移高度;
但是,VDI [虚拟桌面基础架构] 机器 IE11 中仍然存在问题。我打算尝试使用 clientHeight 而不是 offsetHeight。我还需要尝试/寻找什么来解决这个问题?
注意:上面的代码只是解释问题的示例,在实际查找和分配行的高度时,将其分离到不同的循环中,以避免回流(提高响应时间)。