Windows XP テーマ (クラシックではない) を使用すると垂直スクロール バーが機能しない

StackOverflow https://stackoverflow.com/questions/967396

質問

これはクレイジーに聞こえるかもしれませんが、私は自分の目で見るまで信じられませんでした。

スクローラーまたは矢印の間のスペースをクリックしても、垂直スクロール バーはスクロールしません。スクロールするにはバーをドラッグする必要があります。これは、醜いデフォルトのテーマ (Windows クラシックではない) でのみ発生します。

スクロール バーの背後には、ページ上の別の DIV のスクロールを駆動する重い JavaScript が含まれています。

これまでにこれに遭遇した人はいますか?一体なぜテーマが IE のレンダリングに影響するのでしょうか?!IEだけ!

編集:この問題は、「非クラシック」XP テーマ (デフォルトの醜いテーマ) を使用している場合に発生します。テーマを切り替えてもこの問題は発生しませんが、デフォルトからクラシックに切り替えると修正されます。

役に立ちましたか?

解決

それはあなたが追加したときに助けています。

<!--[if IE]><meta http-equiv="MSThemeCompatible" content="no"><![endif]-->

自分のホームページのソースに?非古典的なテーマが私のために有効になっているとき、それはIEでの不具合を回避するためにうまくいきました。 (それは時々、Firefoxでスクロールバーを台無しになるので)Firefoxは、タグを解析しないように、条件付きコメントがあることに注意してください。

他のヒント

私はXPのテーマ内のIE7での垂直スクロールバーと同じ問題を抱えていました。多くの実験の後、私はついにそれに対する解決策を見つけました。私は、このソリューションは、あなたのケースに合うかわからない。

レンダリングされたスクロールバーを有する容器(以下の例では、DIV#1スクロール)が18pxよりも大きくなければなりません。その下の任意の数は、縦棒が無効原因になります。

<div id="scroll">
     <div id="fill">
     </div>
</div>

スタイルシート、例えば:

#fill{
    width: 1px;
    height: 1000px;
}

#scroll {
    width: 18px; /* This has to be larger than or equal to 18. */
    height: 50px;
    overflow-y: scroll;
}

おかげで、 グレース

Windows の特定の制限を回避するために、IE は Web ページに表示されるほぼすべてのコントロールを再実装します。

古くて新しいもの :ウィンドウのないコントロールは魔法ではありません

<抜粋>

Internet Explorer チームは、Web ページに必要なすべてのコントロールを再実装しました。独自の窓のないチェックボックスコントロール、窓のないリストボックスコントロール、窓のない編集ボックスなどがあります。ウィンドウコントロールのすべての機能を再現することに加えて、インターネットエクスプローラーの人々は、ウィンドウコントロールの「外観」を最後のピクセルまで再現する必要がありました。(次のような機能 描画テーマ背景 そして DrawFrameControl ここで非常に役立ちます。)

私の記憶が正しければ、まだウィンドウ表示されている唯一の要素は <SELECT> 要素.

目を細めて見ると、完全にはうまくいかなかった場所がいくつかあることがわかります。たとえば、テキスト ボックス内で右クリックすると、[右から左への読み取り順序] や [Unicode 制御文字の挿入] などのオプションが表示されません。別の例として、IE のスクロール バーの上にマウスを移動しても、スクロール バーが点灯しないことに注目してください。

</抜粋>

ページを実装するコードを見なければ、これも「IE のコントロールがネイティブに動作しない」ことの表れだと思います。

Microsoft とサポート契約を結んでいる場合は、そのチャネルを通じて苦情を申し立てることをお勧めします。そうでない場合は、 Microsoft.public.internetexplorer.general ニュースグループ。IE6 に戻ると、スクロールバーが壊れていました。 KB824145 そしてそれを修正しました KB832894, したがって、この種の問題が以前に発生せず、解決されたわけではありません。

まず、私はIEがひどいブラウザで、Webアプリケーションを開発しながら、いくつかのケースでは、あなたが問題を制御できませんと言ってから始めましょう。

その場合は、私は、このような問題が発生していないと、Googleの検索は、件名に何かを引っ張らないでください。私はそれが奇妙なバグにつながるあなたのコードで何かでなければならないと思います。それは(販売、政府...)非常に重要なアプリケーションでない限り、あなたがそのようにそれを残すことができるので、ほとんどの場合、それは、多くのシステムでは中断されません。

それその方法を見てみましょう。古典的にウィンドウのスタイルを変更?オタク。そしてオタクは、IEを使用していますか?第^^ ...冗談ではなく本当にます。

それは私がのためにあなたの実際のコードを見てみる必要がありますが重要だ場合は、「は、スクロールバーがページ上の別のDIVのスクロール車その背後にあるいくつかの重いJavaScriptを持っています。の」

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top