javascript - 在调整大小期间,Chrome 和 Safari 不会可靠地更新样式(webkit 错误?)

标签 javascript css google-chrome safari webkit

我有一个布局,当我根据其他元素宽度调整大小时,我需要调用一个调整大小函数来调整一堆单个元素的大小。在 Chrome 和 Safari 中,它没有正确更新元素,尽管检查员说一切都很完美。

注意:这不能用 CSS 完成,也不是响应式网页设计。

问题似乎是一些基于 WebKit 的错误被转移到了 Blink 中。它不会发生在 Firefox 或 IE 中,甚至回到 9。它只发生在 Chrome 和 Safari 中。我有这段代码会在窗口调整大小时触发

var els = this.getElements();

$(els.fauxTable).width($(els.contentContainer).outerWidth());

var sizes = [];
$(els.contentContainer).find('[data-id]').first().find('td').each(function(i) {
  sizes.push($(this).outerWidth())
  $(els.fauxHeaderContainer).find('th').eq(i).css('width', $(this).outerWidth());
});
console.log(sizes)

return this;

控制台日志输出正确的值甚至更奇怪,你知道如果你在 Chrome 和 Safari 的检查器中悬停一个元素它会在浏览器窗口中突出显示该元素吗?那个位置和宽度和高度是完美的。如果我在检查器中更改与文本颜色等大小完全无关的内容,它都会按应有的位置卡入到位。

这是调整大小后的一些屏幕截图。您将看到 header 如何不匹配。第二张图片是在更改文本颜色之后,就是这样

enter image description here

enter image description here

有谁知道为什么会发生这种情况或如何解决这个问题?

最佳答案

我想我有办法让它发挥作用。如果我将此添加到返回上方和控制台日志下方的代码中,一切正常

$(els.fauxHeaderContainer).hide().show(0);

我认为这是可行的原因是因为浏览器被迫重绘元素及其所有子元素。

关于javascript - 在调整大小期间,Chrome 和 Safari 不会可靠地更新样式(webkit 错误?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34145306/

相关文章:

javascript - Visual Studio 2017 Chrome JavaScript 调试 - 未达到断点

c# - 在图像按钮上滚动页面 Div 也向下滚动

javascript - 单击禁用功能

javascript - 在特定元素上切换特定类别 - polymer

html - 如何在 HTML 中插入图像,使其充满整个屏幕,而不管屏幕大小?

javascript - 在移动设备上使用 Chrome 浏览器强制视频自动播放

javascript - Docker for Windows REST API - 启用 CROSS

html - 如何用两个 div 制作一个 photoshop 风格的剪贴蒙版

javascript - 如何删除两个 Html 选择列表之间的重复项

javascript - Chrome 控制台自动点击