0

垂直スクロール バーの導入によりページがジャンプする場合 (ここで説明) から派生して、常にバーを で表示し、html { overflow-y: scroll !important; }ウィンドウ/ドキュメントの幅をリッスンして変更するスクリプトを使用しないことにしました。ページの読み込み後(バーの検出時)にバーを完全に透明でボタンのないスタイルに設定し、スクロールバーがないように見せることも別の方法だと考えています。RootPanelこの場合、 withを置き換えるRootLayoutPanelことも役立つ可能性があると読みましたが、この特定のインスタンスでは問題外です。

here で説明されているように、別のラッパー パネルや任意の種類のカスタム バーの使用を避けながら、現在のネイティブの垂直スクロール バーのスタイルを設定するにはどうすればよいですか?

垂直スクロールバーを検出する方法は次のとおりです。

if( RootPanel.getBodyElement().getOffsetHeight() > Window.getClientHeight() )
    //bar is present

このスタイル変更がユーザーに表示されないことを願っています。

4

1 に答える 1

1

ネイティブ スクロール バーは、特定のブラウザーでのみスタイル設定でき、ベンダー固有の構文を使用できます。より完全な回答については、CSS カスタマイズされたスクロール バー in divを参照してください。

あなたの質問への回答は、IE、Webkit、および Opera ではスクロールバーのスタイルを設定できますが、Firefox では設定できないということです。

スクロールが表示されたときにページがジャンプする問題に関連して、jsを使用するか、常に表示するように設定する必要があります。ただし、css をサポートするブラウザーでは、ジャンピング効果は css で解決できません。

この問題を回避するために、GWT はCustomScrollPanel、あなたにとって選択肢ではないように思われる を開発しました。IMO は機能し、うまく機能します。この場合に使用しない理由はありません。

于 2013-10-23T00:01:57.183 に答える