Ext.js 4.2当浏览器被放大时,tabpanel的头部和主体被错位。

问题描述 投票:0回答:1

不只是放大,还要放大。

正常的。enter image description here

zoomed: enter image description here

放大: enter image description here

当柱子多的时候,他是很明显的。那么有没有什么好的破解方法呢?

extjs html-table
1个回答
1
投票

这里有一个 联系

我提一下这位用户在sencha论坛上说的话,我同意他的观点。

这是Chrome浏览器中的一个bug,在ExtJS框架之外也可以重现。

如果你在浏览器中加载以下HTML代码,单元格会整齐地排列。如果你使用浏览器缩放,它们就不会。

当缩放后单元格宽度(像素)为浮点(非int)时,问题就会发生。Chrome会将前半部分单元格的宽度向下舍入,而后半部分单元格的宽度向上舍入。

如:如果计算出的宽度是24.3333px,则前三分之二列是24px,后三分之一列是25px。所以如果我们有54列,在36列的时候,我们就会偏离12个像素,也就是半列。

除非Sencha知道如何在缩放后计算宽度,否则ExtJS框架对这个错误无能为力。我不确定是否可以使用javascript来获得浏览器的缩放级别。不过,我坚信这是Chromium团队必须要解决的问题。

我认为还是有一个可以通过css实现的变通方法。如果可以的话,可以尝试在网格配置中对网格列使用flex属性。计算flex属性为=(给定的所有列的宽度之和),然后删除列级的 "宽度 "配置。

实际上,在任何布局改变后,Flex会在CSS属性中设置每个列的宽度。

© www.soinside.com 2019 - 2024. All rights reserved.