背景:私は、リーフレットjsプラグインでmapquestを使用するデスクトップブラウザアプリケーションを持っています。私はマーカーのためのカスタムHTMLとスタイリングを使用することができますマーカーのdivIconクラスを使用しています。各divIconマーカーには、マーカーがホバーオーバーされたときに表示される隠しdivも含まれます(ホバークラスを使用)。私は、カスタムHTMLはスタイリングをはるかに上手くコントロールできるので、リーフレットに組み込まれたデフォルトのマーカーもデフォルトのポップアップも使用していません。他のマーカーを上にではなくカスタムdivIconポップアップにする
問題:ポップアップが表示されているとき、マップ上の他のマーカーは、ポップアップの上に表示されず、下に表示されません。私は本当に高い数字にポップアップのdivのZ - インデックスを設定しようとしましたが、それは助けにはなりません。
予想されること:アイコンの上にマウスを置くと、マーカーはポップアップの後ろに表示され、前面には表示されません。
これは重複した質問ではありません。この質問はthis oneと同じではありません。その質問は、デフォルトのチラシポップアップを地図のz-indexコンテキストの外にあるカスタムdivの上にとどめることでした。この質問は、カスタムマウスオーバーポップアップ(デフォルトのポップアップではない)が他のマーカーの上にとどまっていることです。さらに、私のソリューションは、回避策として注目されているjavascriptの「ハック」とはまったく異なります。
問題の実例:
var pin = L.divIcon({
html: `
<div class='marker'>
Pin
<div class='popup'>
Marker info. Other markers WILL BE on top of this div.
This is BAD and a PROBLEM.
</div>
</div>
`,
});
この最も重要なCSS定義を:ここでhttps://jsfiddle.net/mrrost/py2bqw7j/
がどのように見えるか、カスタムマーカー/ポップアップでコードをdivIconある
#map {
position: fixed;
}
/* hide default leaflet pin; div.popup is put inside here */
.leaflet-marker-icon {
border: 0; margin: 0; padding: 0;
}
div.popup {
display: none;
position: absolute;
}
div.marker:hover div.popup {
display: block;
}
[Z-indexが意図したとおりに動作しない]の可能な重複を(http://stackoverflow.com/questions/34270421/z-index-not-working-as-intended) – nothingisnecessary
いいえ、これはありません重複その質問は、デフォルトのリーフレットポップアップをこの地図の外にあるカスタムdivの上にとどめることでした。このポストは、カスタムマウスオーバーポップアップ(デフォルトのポップアップではありません)について、他のマーカーの上に留まります。さらに、私のソリューションは、その質問に使用されていたjavascriptのハックとはまったく異なっています。 – Mike
[親要素の上に子要素を表示し、親要素の兄弟を表示するにはどうすればいいですか?](http://stackoverflow.com/questions/11175833/how-can-i-show-child-element-above-parent -element-and-samlings of the-parent-ele) – TylerH