由于引入垂直滚动条导致页面跳转(如 here 所述),我决定始终使用 html { overflow-y: scroll !important 显示该条; }
,并且不使用脚本监听和更改窗口/文档宽度。我认为在页面加载后(在检测到栏时)将栏样式设置为完全透明且无按钮,使其看起来没有滚动条,是另一种选择。我读过用 RootLayoutPanel
替换 RootPanel
也可能在这种情况下有所帮助,尽管在这个特定实例中这是不可能的。
我将如何设置当前 native 垂直滚动条的样式,同时避免使用其他包装面板或任何类型的自定义栏,如所述here ?
下面是我检测垂直滚动条的方法:
if( RootPanel.getBodyElement().getOffsetHeight() > Window.getClientHeight() )
//bar is present
我希望用户看不到这种重新设计的样式。
最佳答案
native 滚动条只能在某些浏览器中使用特定于 vendor 的语法进行样式化,请参阅 CSS customized scroll bar in div以获得更完整的答案。
所以对你的问题的回答是,你可以在 IE、Webkit 和 Opera 中设置滚动条的样式,但在 Firefox 中不行。
关于滚动条出现时跳转的问题,只能用js解决,或者设置为一直可见。跳转效果是不能用css解决的,在支持css的浏览器中。
为避免此问题,GWT 开发了 CustomScrollPanel
,这似乎不是您的选择,IMO 它运行良好且性能良好,我看不出有任何理由在这种情况下不使用它。
关于java - 可以在 gwt 中设置 native 滚动条的样式,而不定义自定义滚动条并且不使用 ScrollPanel 或 CustomScrollPanel?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19528326/