我想知道...有沒有辦法隱藏GWT標準的水平滾動條ScrollPane? 我的意思是可能不使用外部CSS樣式等?或者你可以推薦一個更優化的方式來達到效果?GWT - 隱藏水平滾動條
...而關於CSS,現在我嘗試設置這樣的風格對我的ScrollPane
.a-scroll {
overflow-y: scroll;
overflow-x: hidden;
}
...但似乎不起作用,水平滾動條仍然可見:S那麼是否有解決方法?
感謝
我想知道...有沒有辦法隱藏GWT標準的水平滾動條ScrollPane? 我的意思是可能不使用外部CSS樣式等?或者你可以推薦一個更優化的方式來達到效果?GWT - 隱藏水平滾動條
...而關於CSS,現在我嘗試設置這樣的風格對我的ScrollPane
.a-scroll {
overflow-y: scroll;
overflow-x: hidden;
}
...但似乎不起作用,水平滾動條仍然可見:S那麼是否有解決方法?
感謝
默認情況下,ScrollPanel
的overflow
屬性設置爲auto
(即滾動條將根據需要顯示)以獲得最多的跨瀏覽器解決方案。所以,由瀏覽器決定何時顯示這樣的滾動條。另外,由於在施工時已經被調用(在initialize()
方法中),因此調用scrollPanel.setAlwaysShowScrollBars(false)
是無用的。
無論如何,我發現你要求的是known issue。
如果你想總是隱藏你需要設置ScrollPanel
的滾動元件上的overflow-x: hidden
財產水平滾動條(你嘗試過,但這種面板並不是一個簡單的分度,它的overflow
屬性)。試着用:
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。所以這可能不是你所追求的。
在這種情況下,一些CSS技巧可以幫助隱藏滾動條,但仍然允許滾動,如this。
Anothe選項可以使用CustomScrollPanel
小部件,該小部件允許通過提供具有零不透明風格的自定義滾動條(不是最好的東西,難熬)來隱藏滾動條。正如問題中提出的,當然,另一種選擇可能是推出自己的基於div的小部件(可能會擴展SimplePanel
),並提供所需的所有樣式。
好的,謝謝。我稍後嘗試解決方案並向您報告我的結果 – user592704 2013-05-06 16:33:31
我試過這個解決方案。它工作正常:)謝謝 – user592704 2013-05-15 18:32:59
可以隱藏滾動條,如果內容不溢出使用
scrollPanel.setAlwaysShowScrollBars(false);
如果你的滾動條仍然顯示你可能想看看你的內容的容器。
不,我想要支持overflow-y只能垂直滾動它 – user592704 2013-04-30 17:10:27
可能有點便宜,但豎線寬度被添加到窗口小部件的寬度,這意味着窗口部件不再顯示完整。因此,顯示的水平條可以滾動查看通過垂直滾動條隱藏的內容。
如果你去
scrollPanel.setAlwaysShowScrollBars(false);
scrollPanel.setWidth("normalwidth + 8px");
應該停止顯示。
你對*始終*隱藏水平滾動條感興趣嗎? – 2013-04-30 08:59:53
@Andrea Boscolo你是對的。我想隱藏水平,但只有垂直顯示; – user592704 2013-04-30 17:11:27
當你設置該風格時,你是在代碼中爲它設置一個名稱,以便它能夠拾取CSS類'.a-scroll'? – 2013-05-01 17:54:48