3

これはばかげているように聞こえるかもしれませんが、自分の目で見るまで信じられませんでした。

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

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

誰もこれに遭遇したことがありますか?テーマが IE のレンダリングに影響するのはなぜですか?! IEだけ!

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

4

4 に答える 4

3

追加するときに役立ちますか

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

あなたのページソースに?非クラシックテーマが有効になっている場合、IEの不具合を回避するのにうまく機能しました。Firefoxがタグを解析しないように条件付きコメントがあることに注意してください(Firefoxのスクロールバーが台無しになることがあるため)。

于 2009-06-20T19:52:35.590 に答える
2

XPテーマ内のIE7の垂直スクロールバーで同じ問題が発生しました。多くの実験の後、私は最終的にそれに対する解決策を見つけました。この解決策があなたのケースに合っているかわかりません。

レンダリングされたスクロールバーを含むコンテナー (以下の例では div#scroll) は、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;
}

ありがとう、グレース

于 2011-06-01T19:17:00.060 に答える
1

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

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

<抜粋>

Internet Explorerチームは、Webページに必要なすべてのコントロールを再実装しました。独自のウィンドウレスチェックボックスコントロール、ウィンドウレスリストボックスコントロール、ウィンドウレス編集ボックスなどがあります。ウィンドウコントロールのすべての機能を再現することに加えて、Internet Explorerの人々は、ウィンドウコントロールの「外観」を最後のピクセルまで再現する必要がありました。( DrawThemeBackgroundDrawFrameControlなどの関数はここで非常に役立ちます。)

正しく思い出せば、まだウィンドウ処理されている要素は<SELECT>要素だけです。

目を細めてみると、釘付けになっていないところがいくつかあります。たとえば、テキストボックスを右クリックすると、「右から左への読み上げ順序」や「Unicode制御文字の挿入」などのオプションが表示されません。別の例として、IEのスクロールバーにカーソルを合わせても点灯しないことに注意してください。

</抜粋>

あなたのページを実装しているコードを見ずに、これは「IEのコントロールはネイティブに機能しない」の別の現れだと思います。

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

于 2009-06-20T19:29:29.600 に答える
0

最初に、IE はひどいブラウザーであり、場合によっては、Web アプリケーションの開発中の問題を制御できないと言い始めます。

その場合、私はそのような問題に遭遇しておらず、Google 検索はこの件に関して何も引き出しません。奇妙なバグにつながるのは、コード内の何かに違いないと思います。ほとんどの場合、多くのシステムで問題が発生することはないため、非常に重要なアプリケーション (販売、政府など) でない限り、そのままにしておくことができます。

そのように見てください: ウィンドウのスタイルをクラシックに変更したのは誰ですか? オタク。ギークは IE を使いますか? いいえ^^ ... 冗談ですが、そうではありません。

重要な場合は、「スクロールバーの背後に、ページ上の別の DIV のスクロールを駆動する重い JavaScript があります。」の実際のコードを確認する必要があります。

于 2009-06-16T15:47:02.867 に答える