【问题标题】:Possible to style native scrollbars in gwt, without defining custom scrollbars and without using ScrollPanel or CustomScrollPanel?可以在 gwt 中设置本机滚动条的样式,而不定义自定义滚动条并且不使用 ScrollPanel 或 CustomScrollPanel?
【发布时间】:2013-10-31 22:34:30
【问题描述】:

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

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

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

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

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

【问题讨论】:

标签: java javascript jquery css gwt


【解决方案1】:

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

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-12-15
    • 2013-07-02
    • 2017-05-28
    • 2011-10-05
    • 2021-06-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多