私には特別な問題はありませんが、私の人生では、何が間違っているのかわかりません。
一連のセクションを持つページがあります。セクションの一部は小さな画像です。画像がクリックされたときに、カスタム コントロールを表示したい。コントロールが簡単であることを示すには、z-index を少し高く設定して、コントロールがすべての上に表示されるようにします。
ただし、ユーザーはコントロールの背後にあるセクションを操作できます。
それを止めるために、「毛布」を追加しました。基本的に、次の CSS (jQuery 構文) を使用したドキュメントのサイズである div -
{
position: 'absolute',
top: 0,
left: 0,
width: '100%',
height: $(document).height(),
display: 'none',
zIndex: 1,
backgroundColor: '#FF0000'
};
ええ...背景が赤なので、テスト用に表示できます。不透明度を 0.1 (ライト ブラー) に設定します。次に、カスタム コントロールの z-index を 2 に設定して、ブランケットの上に配置します。
これは、FireFox、Chrome、および Safari では完全に機能しますが、IE では機能しません。
カスタム コントロールはブランケットの子ではありません。
目標は、次のドキュメントをブランケットでカバーし、ブランケットの上にコントロールを置いて操作できるようにすることです。これは、IE を除くすべてのブラウザーで得られるものです。すなわち...それはコントロールで文書化され、両方がブランケットで覆われています。
答え
scunliffeが最も近かった (リンクできないコメントで回答)。カスタム コントロールは、相対的に配置された div 内にあります (実際にはいくつか下にあります)。ブランケットは体の端に単に追加されました。したがって、それは相対的に配置された div の外にあり、独自の z-index スタックを開始しました (ここに記載されているように)。IE 6/7 はこの点で壊れているため、z-index を何に設定しても、常にブランケットより下になります。
そこで、相対的に配置された div 内の最初の子になるように毛布を移動しました。これはまだ 100% 完了したわけではありません。スクロールすると (このソリューションでは停止できません)、ブランケット div は表示されるコンテンツの高さだけになるからです。コンテンツの完全な高さ (可視および非可視) を取得する方法を理解する必要があります。