2011-02-01 8 views
1

divの中に画面の中央にポップアップがあり、任意のコンテンツが入力されています。追加されたコンテンツが利用可能なスペースに収まらない場合はスクロールする必要があります。CSS - IEの水平スクロールを避ける

基本的なスタイリングは残っています:25%;幅:50%;最大高さ:70%

画面が十分大きければ、すべて正常に動作します。 Firefoxでは、十分なスペースがない場合、部門に垂直スクロールバーを追加してうまく動作します。しかし、IEでは、迷惑で不要な水平スクロールバーが追加されてしまい、それを取り除く方法を見つけることができません。あなたは、私がここで言いたいのいくつかのスクリーンショットを参照することができます

http://dl.dropbox.com/u/15633144/popup.html

は申し訳ありませんが、私は確かに、これはどの楽にしません、実際のHTMLを投稿することはできません!しかし、これは人々がこれまでに働いていた標準的な問題だと思っています。

ここには、overflow-x/overflow-yという言葉がたくさんあります。しかし、場合によってはdivの内容が実際には水平方向にスクロールしなければならないので、このテクニックは使用できません。

+1

サーバーへのアクセスを許可できない場合、jsfiddle.netで例を作成できます。 – Kyle

答えて

1

最初のIEは、最大高さのCSSプロパティをサポートしていません。

コンテナ内のいくつかの要素の幅がオーバーフローしている場合は、水平スクロールバーが表示されます。あなたはたぶん内部に幅:100%の要素を持っています。 IEがランダムな境界線/マージンをあちこちに追加するので、内側の要素の幅はそのコンテナよりも大きくなります。

+0

はい、幅100%の要素が問題だったようです。私は質問をする前にこれを削除すると思っていましたが、幅100%の別のコードパスがあることがわかりました。 – asc99c

+1

IEは私が持っているバージョンで最大高さをサポートするようです。おそらくIE6はありませんが、プログラムは基本的にAJAXベースであり、IE6はサポートしなくなりました。ウェブサイトではないアプリケーションなので、IEをサポートしないことで逃げることはできます。 :) – asc99c

0

を探してみてください。あなたがオーバーフローでそれらを隠した場合、どちらがx:隠されていますか?スクロールすることはできません。 jQueryのIf文を実行し、window.widthがコンテンツの幅よりも大きかった場合はスクロールバーを表示し、そうでなければ非表示にします。

関連する問題