我在想...是否有一种方法可以使用GWT标准ScrollPane隐藏水平滚动条?我的意思是可能不使用外部CSS样式等?或者您可以推荐更优化的方法来实现效果吗?
...关于CSS,现在我尝试为我的ScrollPane设置这样的样式
.a-scroll {
overflow-y: scroll;
overflow-x: hidden;
}
...但似乎它不起作用,水平滚动条仍然可见:S,那么有没有解决方法?
谢谢。
我在想...是否有一种方法可以使用GWT标准ScrollPane隐藏水平滚动条?我的意思是可能不使用外部CSS样式等?或者您可以推荐更优化的方法来实现效果吗?
...关于CSS,现在我尝试为我的ScrollPane设置这样的样式
.a-scroll {
overflow-y: scroll;
overflow-x: hidden;
}
...但似乎它不起作用,水平滚动条仍然可见:S,那么有没有解决方法?
谢谢。
ScrollPanel
的 overflow
属性被设置为 auto
(即根据需要显示滚动条),以获取最佳的跨浏览器解决方案。所以,浏览器会决定何时显示这样的滚动条。此外,调用 scrollPanel.setAlwaysShowScrollBars(false)
是无用的,因为它已经在构造时被调用了(在 initialize()
方法中)。ScrollPanel
的可滚动元素上设置 overflow-x: hidden
属性(就像你尝试过的那样,但这个面板不是一个简单的带有 overflow
属性的 div)。请尝试以下方式:public class MyScrollPanel extends ScrollPanel {
public void setAlwaysHideHorizontalScrollBar(boolean alwaysHide) {
getScrollableElement().getStyle().setOverflowX(alwaysHide ? Overflow.HIDDEN : Overflow.AUTO);
}
// ... and the like.
}
overflow-x/y
是CSS3属性,而overflow
是CSS2属性。所以这可能不是您想要的。CustomScrollPanel
小部件,它允许隐藏滚动条,并提供自定义滚动条,例如零透明度样式(虽然不是最好的选择)。SimplePanel
),并具有您需要的所有样式,如该问题所建议的。可能有点便宜,但是垂直条的宽度被添加到小部件的宽度中,这意味着小部件不再完全显示。因此,水平条显示,以便您可以滚动查看通过垂直滚动条隐藏的内容。
如果您继续
scrollPanel.setAlwaysShowScrollBars(false);
scrollPanel.setWidth("normalwidth + 8px");
如果内容不超出容器,您可以使用以下方法隐藏滚动条
scrollPanel.setAlwaysShowScrollBars(false);