今日はちょっとした問題が発生しました。JSドロップダウンメニューがあり、GoogleMapを挿入すると...メニューはGoogleMapの後ろに表示されます...GoogleMapのzインデックスを取得する方法に関するアイデア?
ありがとう!
今日はちょっとした問題が発生しました。JSドロップダウンメニューがあり、GoogleMapを挿入すると...メニューはGoogleMapの後ろに表示されます...GoogleMapのzインデックスを取得する方法に関するアイデア?
ありがとう!
問題が Internet Explorer で発生し、FireFox または Safari で期待どおりにレンダリングされる場合、このリンクは、同様の問題を抱えている私にとって非常に役立ちました。
要素を「position:relative;」としてマークするという考えに要約されるようです。CSS で IE6&7 が、直感的でなく、仕様に反する方法で、HTML ドキュメント内でその前にある他の要素に関連する z-index を台無しにします。おそらくIE8は「正しく」動作しますが、自分でテストしていません。
問題がフォーム要素にある場合、Anutron のアドバイスは非常に役立ちますが、<SELECT>
JavaScript を使用して div や uls を操作してドロップダウンのように振る舞う場合は、役に立たないと思います。
一部のブラウザー ( ahem IE*ahem ) のドロップダウン メニューは、zPositionedをまったく使用できないことに注意してください。その上に何かを配置したい場合は、「iframe shim」を使用してそれを隠すか、ドロップダウンを完全に非表示にする必要があります。参照: http://clientside.cnet.com/wiki/cnet-libraries/02-browser/02-iframeshim
メニューが div コンテナでラップされている場合、たとえば#menuWrap
相対的な位置を割り当て、高い z-index を指定します....たとえば
#menuWrap {
position: relative;
z-index: 9999999
}
マップが div 内にあることを確認してください
マップはすでに div 内にラップされています。負の z-index を指定すると機能しますが、注意点が 1 つあります。gmaps コントロールはクリックできません。
IEは問題を与えます
相対位置のdivにラップされているすべてのdivは、IEで新しいz-indexを開始します。IEが外部の相対divを解釈する方法は、htmlの順序です。最後に定義されたものが一番上にあります。相対位置のdiv内のdivのzインデックスが何であっても。
IEの解決策:最後にhtmlで一番上にあるはずのdivを定義します。
(したがって、z-indexはIEで機能しますが、ホルダーdivごとにのみ、すべてのホルダーdivは他のホルダーdivから独立しています)
マップを DIV でラップし、その DIV に z-index 1 を指定します。ドロップダウンを DIV でラップし、より高い値を指定します。
Try setting your menu z-index insanely high. Apparently Google Maps uses a range from -9000000 to 9000000.
マップとメニューの両方にz-indexを設定する必要はありません。メニューのz-indexをマップよりも高く設定しただけでは、必ずしも機能するとは限りません。
マップdivのz-indexを-1に設定します。これで、メニューがドロップダウンしてマップ上に表示されます.........ただし、ラッパーを使用している場合、マップはラッパーの背後にあるため、インタラクティブではなくなります。
これを回避するには、ラッパーdivでonmouseover関数とonmouseout関数を使用します。それらがマップdivではなくラッパーdivにあることを確認してください。
onmouseover="getElementById('map').style.zIndex = '10000';"
onmouseout="getElementById('map').style.zIndex = '-1';"
私はグーグルスタイルのドロップダウンを作成しましたが、同じ問題がありました...グーグルマップ用のV3 APIを使用して、コントロールを作成し、それをマップに配置するだけです。
map.controls[google.map.ControlPosition.TOP].push(control);
ドロップダウンであるため、含まれているdivのz-indexが最も高く(z = 3)、メニュー項目を含むドロップダウン部分が含まれているdivよりも低い(z = 0)ことを確認してください。
これが例です。
私の経験から、シムを使用する必要があるのはプラグイン(Google Earthなど)のみです。
z-index
(特に Internet Explorer 7 では) 本当にうまくいきませんでした。高対低のマップ Z インデックスのさまざまな組み合わせを試しましたが、喜びはありませんでした。
私にとって最も簡単/迅速な答えは、マークアップ/css を再配置して、フライアウト/ロールオーバーをマップの上/前(文字通り、 の前<div id="map">
) のマークアップにリストすることでした。z-index
デフォルト ( auto
) のままにして、Web アプリケーションのより重要な側面に進みます ;)
お役に立てれば!
<ul id="rollover">
<li><a href="#here">There</a></li>
</ul>
<div id="map">...</div>