Dies scheint nur in CSS möglich zu sein. Unten überschreibe ich (mit !important
) nur drei CSS-Elementen und füge ein :before
Pseudoelement hinzu . Ich reihe das Popup im Wesentlichen zuerst mit dem oberen statt dem unteren Rand ein , wobei es 55px
nur auf den von Ihnen gewählten Marker und den persönlichen Geschmack ankommt.
Dann bewege ich die "Spitze" des Popups auf ähnliche Weise von unten nach unten top:0px
und stelle fest, dass sie nicht mit dem "normalen" Trick erstellt wurde (das heißt: Zuerst am Rand der Blase ein Pseudoelement der Größe 0x0 mit einem dicken transparenten Rand positionieren und dann ausmalen Element gegenüber dem Rand, auf den Sie zeigen möchten (in unserem Fall der untere Rand). Stattdessen scheint es aus einem Rechteck zu bestehen, das von oben links gedreht wurde (vielleicht, weil es den Browser dazu zwingt, die GPU zu verwenden und damit alles zu beschleunigen?), Und ich verstehe den Punkt (entschuldigen Sie das Wortspiel) nicht gut genug ( mein tipp ist am richtigen ort aber unsichtbar); Also entferne ich einfach den Kastenschatten, der sich jetzt an der falschen Stelle befindet, und lasse alles so wie es ist. Wer den "alten Tipp" versteht, passt das bitte an.
Also mache ich stattdessen meinen eigenen Tipp mit dem "normalen" Prozess (wenn Sie sich nicht sicher sind, ändern Sie die vier Rahmenfarben unten, anstatt 3x transparent und 1x weiß --- zB border-bottom-color: blue; border-left-color: green; border-top-color: yellow' border-right-color: red
).
#map {
position: absolute;
top: 0;
right: 0;
left: 0;
bottom: 0;
z-index: 0;
}
.leaflet-popup {top: 55px !important;}
/* Here I move the "tip" to the right location, but didn't succeed in making it visible. So I just remove the box-shadow and leave it: */
.leaflet-popup-tip-container {
top: 0px !important;
}
.leaflet-popup-tip {
box-shadow: none !important;
}
.leaflet-popup:before
{
content: "";
position: absolute;
border: 13px solid transparent;
border-bottom-color: white;
bottom: 0px;
margin-left: -13px;
}
Wie dieses JSFiddle zeigt, ist es kein Problem mit unterschiedlichen Popup-Größen (unterschiedliche Breite, unterschiedliche Texthöhe), wenn Sie beide Marker ausprobieren.
Alles in allem scheint dies robust gegenüber Aktualisierungen in der Broschüre zu sein, da sich die Elemente, die ich überschreibe, wahrscheinlich nicht ändern werden.