1

イライラするが、IE8 で一見ランダムなレンダリング バグに遭遇しました。ページ上にいくつかの絶対配置要素があり (ページ本体に関連して配置されています)、その表示は jQuery によって切り替えられます。

10 回中 8 回は要素が正しくレンダリングされますが、配置が守られず、単にブラウザ ウィンドウの左上隅に配置されることがあります (事実上、上 0、左 0 に絶対配置されます)。

IE Developer Toolbar で要素のプロパティを見ると、正しい css プロパティが設定されていることがわかりますが、適用されていません。ブラウザー ウィンドウのサイズを変更すると、要素が正しい位置にジャンプするため、本物のレンダリング バグのように見えます。

ページに正しい DOCTYPE を設定しているため、ブラウザは互換モードではありません。

どうすればこれに対抗できるか、または他の誰かが同様の経験をしたことがありますか?

4

4 に答える 4

3

私の記憶が正しければ、表示される前に何かの位置を設定しようとすると問題が発生します。

例えば

  1. オブジェクトを隠す
  2. セット位置
  3. オブジェクトを表示

位置が再度設定されるか、ウィンドウのサイズが変更されて IE が位置を再計算するまで、オブジェクトは左上に表示されます。

于 2009-10-13T10:59:26.033 に答える
1

同様の問題がありました-> IE8テキストボックスは編集できませんでした(アプリのラッパーにposition:absoluteがある場合)。クリックは境界線でのみ機能しました。色と透明で塗りつぶされても機能しませんでした。この doctype の変更により、問題は修正されました。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

ソース: http://www.codingforums.com/showthread.php?p=1173375#post1173375

于 2011-12-23T17:02:32.507 に答える
1

IE8固有のプロパティを試しましたか:

-ms-background-position-x: 1px; -ms-background-position-y: 29px;

それらは IE8 でのみ機能し、まさにこの問題に対処します。

于 2009-12-30T20:19:36.673 に答える
0

私もこれを経験しました.jqueryを使用して、別の要素がクリックされたときにのみ表示される絶対配置要素を表示しています。マイクロソフトが基本を完全に誤解し続けているのは、なんと奇妙なことでしょう。

于 2010-01-28T03:23:53.113 に答える