2013-04-29 8 views
5

궁금합니다 ... GWT 표준 ScrollPane으로 가로 스크롤 막대를 숨기는 방법이 있습니까? 외부 CSS 스타일 등을 사용하지 않을 수도 있습니다. 또는 효과를 얻으려면 더 나은 방법을 권장 할 수 있습니까?GWT - 가로 스크롤 막대 숨기기

... 그리고 CSS에 관하여는, 지금 내 ScrollPane에

.a-scroll { 
overflow-y: scroll; 
overflow-x: hidden; 
} 

이 같은 스타일을 설정하려고 ...하지만 작동하지 않는 것 같습니다과 수평 스크롤이 여전히 볼 수 있습니다 : S를 그래서 해결 방법이 있습니까?

감사

+0

* 항상 * 가로 스크롤 막대를 숨기시겠습니까? –

+0

@Andrea Boscolo 당신이 옳습니다. 나는 숨기기를 수평으로하고 싶지만 세로로만 보이도록한다. – user592704

+0

그 스타일을 설정할 때 CSS 클래스 '.a-scroll'을 선택하도록 코드에 이름을 설정하고 있습니까? –

답변

6

기본적으로 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을 확장)을 필요한 모든 스타일로 롤아웃하는 것입니다.

+0

감사합니다. 나중에 솔루션을 조금 시도하고 내 결과를보고 할 것입니다. – user592704

+0

이 솔루션을 사용해 보았습니다. 그것은 잘 작동 :) 감사합니다 – user592704

0

콘텐츠가 스크롤바가 여전히 콘텐츠를보고 할 수 있습니다 보여주는 경우

scrollPanel.setAlwaysShowScrollBars(false);

를 사용하여 컨테이너를 오버플로하지 않는 경우가 스크롤바를 숨길 수 있습니다.

+0

아니요, 오버 플로우 -y를 수직으로 스크롤 할 수 있도록 지원하고 싶습니다. – user592704

0

아마도 조금 싸지만 위젯의 너비에 수직 바 너비가 추가되어 더 이상 위젯이 완전히 표시되지 않습니다. 따라서 가로 막대가 표시되므로 세로 스크롤 막대를 통해 숨겨진 항목을 볼 수 있습니다. 당신이

scrollPanel.setAlwaysShowScrollBars(false); 
scrollPanel.setWidth("normalwidth + 8px"); 

갈 경우

는 게재가 중단됩니다.