Phantom <div>会增加文档宽度,并在Firefox </div>上产生不需要的文档边距

时间:2013-06-25 16:18:00

标签: gwt

感谢Firefox的3D视图,我检测到一个空<div>远远超出了我的GWT 2.5.1应用程序屏幕的边界。这是一个截图:

enter image description here

您可以看到下面的主应用程序屏幕,其上面有几个局外人<div>(我将其归因于布局面板的内部工作方式),而在它们之上的所有内容,无法解释的<div> 。它由以下doc元素表示(从Firefox自己的开发工具中复制):

<div style="position: absolute; z-index: -32767; top: -20cm; width: 10cm; height: 10cm; visibility: hidden;" aria-hidden="true"> … </div>

<div>位于RootLayoutPanel元素之前(使用ensureDebugId查找)。问题是,这个<div>会导致应用程序的移动视图(宽度有限)出现意外的右边距。使用开发工具删除此<div>可以解决问题。

有谁知道这个<div>的起源以及可以摆脱它的东西?

P.S。:我在移动Firefox上测试了这个问题,以测试一个理论,这可能是由于我的一个附加组件。唉,也发生在没有安装我的附加组件的移动Firefox 21上。

更新

GWT项目成员commented on the issue,不建议在移动应用程序中使用布局面板。我使用RootLayoutPanel切换到使用RootPanel,问题确实消失了。

2 个答案:

答案 0 :(得分:3)

作为一种解决方法,在CSS中使用它。我没有在应用程序中使用小部件中的咏叹调进行测试。

div[aria-hidden="true"] {
    right: 0cm;
}

但它会移除iPhone等移动应用程序上的水平滚动条。

答案 1 :(得分:1)

所有这些div都归功于布局面板;他们是“统治者”来检测“相对单位”(emex的变化以检测字体变化 - 每个布局小部件有一个这样的div-而cm来检测缩放 - 这是只有一个这样的div用于整个应用程序 - ),因为你可以在LayoutPanel中放置“图层”时混合单位。

我认为fixedRuler(对于cm s)不仅应该定位在top:-20cm,还应定位left:-20cm(或者RTL中可能right:-20cm)。你介意在https://code.google.com/p/google-web-toolkit/issues/entry提交一个错误吗? (甚至可能提供补丁:http://www.gwtproject.org/makinggwtbetter.html