0

由于引入了垂直滚动条(如此处所述)而导致页面跳转的情况,我决定始终使用 显示该条html { overflow-y: scroll !important; },而不使用脚本侦听和更改窗口/文档宽度。我认为在页面加载后(在检测到该栏时)将栏设置为完全透明且无按钮,使其看起来没有滚动条,是另一种选择。我已经读过在这种情况下替换RootPanelRootLayoutPanel也可能有所帮助,尽管在这种特定情况下这是不可能的。

如here所述,我将如何设置当前本机垂直滚动条的样式,同时避免使用其他包装面板或任何类型的自定义栏?

这是我检测垂直滚动条的方法:

if( RootPanel.getBodyElement().getOffsetHeight() > Window.getClientHeight() )
    //bar is present

我希望这种重新样式不会对用户可见。

4

1 回答 1

1

原生滚动条只能在某些浏览器中进行样式化,并使用供应商特定的语法,请参阅div中的 CSS 自定义滚动条以获得更完整的答案。

因此,对您的问题的回答是,您可以在 IE、Webkit 和 Opera 中设置滚动条样式,但不能在 Firefox 中设置样式。

与出现滚动时页面跳转的问题有关,只能使用js修复,或者设置为一直可见。但是,在支持 css 的浏览器中,用 css 无法解决跳跃效果。

为了避免这个问题,GWT 开发了CustomScrollPanel这似乎不是你的选择,IMO 它运行良好并且性能良好,我认为在这种情况下没有任何理由不使用它。

于 2013-10-23T00:01:57.183 回答