2011-01-14 23 views
2

特定のフォーム項目に表示される不要なスクロールバーに関するアドバイスを求めています。この問題のスクリーンショットが以下に表示されます。それは不必要な最も右のスクロールバーであることに注意してください。ExtJS:Firefoxで不要なフォーム項目のスクロールバーを削除する

bad_scrollbars http://img21.imageshack.us/img21/9307/scrollfu.png

犯人はGeckoベースのブラウザ(問題は、Firefoxに表示されます)のウィンドウ内のアイテムを形成するためにoverflow: auto;を追加し、次のCSSのように見える:

.ext-gecko .x-window-body .x-form-item { 
    outline: medium none; 
    overflow: auto; 
} 

このスタイルを削除する解決私はまだ気づいていませんが、このスタイルは明らかに理由のために含まれていました。 overflow: auto;スタイルを削除するには、このCSSをオーバーライドすると、他の問題が発生する場合

は内線スタイリングについての詳細を知っている誰もが知っていますか?

これは、他のコンポーネントでより多くの垂直方向のスペースが使用されているにもかかわらず、特定のコンポーネント(Ext.ux.form.MultiSelectコンポーネントのカスタム拡張)との問題です(これまでのところ)。誰かがこれについて考えられる理由を知っていますか?

ありがとうございました。

+0

"そのコンポーネントには?トップレベルの高さと子要素の高さを少し違って計算しなければならないと思っていたでしょう。 – wombleton

+0

スクリーンショットを見ると、スクロールバーのある領域の下部にいくつかのコンテンツが入っています。黒いピクセルスクロールバーは、すべてのコントラストを配置するのに十分なスペースがない場合にのみ表示されますnt。 – Gerben

答えて

1

オーバーフロー:自動要素の内容は、要素のクライアント領域を引い任意の詰め物よりも大きい場合、要素にスクロールバーを追加するために、ブラウザに指示します。 CSSでスクロールバーを取り除くことはまさにそのことです。スクロールバーは、何があっても消えます。

周りのあなたの仕事の副作用は、クライアントのコンテンツ外がある場合、使用がそれを見ることができませんです。さらに、カスタムクラスで回避策を適用しない限り、このフォームだけでなくアプリケーションのすべてのフォームで発生します。

右の修正があなたのコンテンツ領域は、フォームのクライアント領域よりも大きくなっている理由を把握することです。 Firebugは、DOMを調べて、すべての子アイテムのサイズだけでなく、コンテナのサイズも調べることができるため、大きな助けとなります。

明確な選択コントロール(これはカスタムコントロールですか?)が自分自身のサイズを適切に調整していないと思われます(つまり、フォームレイアウトでxピクセル高いと言っていますが、実際にはx +マージンとパディング)フォームレイアウトは、ラッパー領域(スクロールバーを含む領域)を作成するための大きさを決定するためのすべての作業を行い、コントロールはその領域に収まる必要があります。

+0

アドバイスをいただきありがとうございます。さらに見ると、コンポーネントの内側のフィールドセットの下端には10ピクセルの余白があり、コンポーネントの高さには含まれていませんでした。下の余白を取り除いたこの特定のコンポーネント内のフィールドセットにCSSクラスを追加しました。再度、感謝します。 – oogles

+0

回答がOPによって受け入れられコメントされたため、著者によって削除されたコンテンツを元に戻しました。 – Mchl

関連する問題