5

私は、この大きなデータ入力のようなページ、div を使用したテーブルのようなレイアウトを持っています。各行にはサブ行があり、開閉を切り替えることができます。トグルは、css 可視性設定を使用してトリガーされます。テーブルの各「セル」の隅には小さな画像があり、画像をクリックするとポップアップ ウィンドウが開き、エントリにメモを付けることができます。

このポップアップ ウィンドウには、テキスト領域と一連のチェックボックスがあり、ボタン (input type=submit だと思います) があります。ポップアップは、非表示の div 内にネストされた iframe です。

IE7 では、このメモの iframe を開いてページを下にスクロールすると、ポップアップのテキスト領域にマウスを合わせると、ポップアップが消えて、その下のページ コンテンツが表示されます。チェックボックスにマウスを合わせると、下のページも表示されます。

それで、私はいくつかの異なる修正を試みました。Z-index は、これを修正するために使用できると私が望んでいたものでした。そのような運はありません。テキスト領域を単純な入力 type=text に置き換えてみることもできますが、チェックボックスにもこのバグが見られるため、1 行のテキスト入力でもバグが発生すると思われます。

4

4 に答える 4

9

トリガーする最も簡単な方法hasLayout(別の投稿で説明) は、 を追加することzoom: 1です。

最も馬鹿げた IE 6/7 表示の問題のいくつかをデバッグするとき、一時的なものをダンプすることがあります。

* {
    zoom: 1;
}

私のCSSに何か変更があるかどうかを確認してください。そうであれば、要素、要素の親/子などから始まる要素に選択的に追加し始めます。

zoomは IE でのみサポートされているため、ドキュメントに含めるのはかなり「安全」です。また、要素を絶対に配置するなどのクレイジーなことをする必要もありません。

于 2008-09-30T11:25:25.277 に答える
6

ブロック要素に加えて、z-indexは、IEがhasLayoutと呼ぶものを持つすべての要素に対して機能します。続きを読む

于 2008-09-30T06:32:33.513 に答える
2

私の記憶が正しければ、絶対配置されたブロック要素に対する Z-Index の唯一の作業です。そのため、ポップアップ ボックスの位置を絶対に設定してから、z-index を試してください。ポップアップを特定の位置に配置する必要がある場合は、ラッピング要素を相対位置に設定します。以前にこの問題に遭遇したことがあり、説明した方法で解決したと思います。

于 2008-09-30T02:33:06.320 に答える
1

IE7の入力フィールドとテキストエリアの両方でまったく同じ問題がありましたが、それらに幅を与えた場合のみです。

どこから入手したか覚えていませんが、この解決策を見つけました。あまりエレガントではないかもしれませんが、問題は解決しました。追加するだけです:

filter:alpha(opacity=100)

面倒なフィールドのスタイル属性のcssに。

于 2009-04-29T09:39:24.480 に答える