기본적으로 ScrollPanel
의 속성은 가장 많은 교차 브라우저 솔루션을 얻으려면 auto
(즉, 스크롤바가 필요에 따라 나타납니다)으로 설정됩니다. 그런 스크롤바를 언제 표시할지 결정하는 것은 브라우저의 몫입니다. 또한 initialize()
메서드에서) 호출 할 때 scrollPanel.setAlwaysShowScrollBars(false)
을 호출하는 것은 쓸모가 없습니다.
어쨌든 요청하신 내용이 known issue입니다.
항상 당신이 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입니다. 그래서 이것은 당신이 겪은 것이 아닙니다.
이런 경우 스크롤바를 숨기고 스크롤 할 수 있도록하기 위해 CSS 트릭이 도움이 될 수 있습니다 (this).
Anothe 옵션은 CustomScrollPanel
위젯을 사용할 수 있습니다.이 도구는 사용자 정의 스크롤바에 제로 불투명도 스타일 (힘든 것은 아닙니다)을 제공하여 스크롤바를 숨길 수 있습니다.
당연히 다른 문제는 제안 된대로 div 기반 위젯 (아마도 SimplePanel
을 확장)을 필요한 모든 스타일로 롤아웃하는 것입니다.
* 항상 * 가로 스크롤 막대를 숨기시겠습니까? –
@Andrea Boscolo 당신이 옳습니다. 나는 숨기기를 수평으로하고 싶지만 세로로만 보이도록한다. – user592704
그 스타일을 설정할 때 CSS 클래스 '.a-scroll'을 선택하도록 코드에 이름을 설정하고 있습니까? –