Esto parece ser posible solo en CSS. A continuación, anulo (con !important
) solo tres elementos CSS y agrego un :before
pseudo-elemento. Básicamente, primero estoy alineando la ventana emergente con la parte superior en lugar de la inferior , donde 55px
solo depende del marcador elegido y el gusto personal.
Luego muevo la "punta" de la ventana emergente de manera similar desde abajo hacia abajo top:0px
, y descubro que no está hecha con el truco "normal" (es decir: primero coloca en el borde de la burbuja un pseudo-elemento de tamaño 0x0 con un borde transparente grueso, luego colorea ese borde opuesto del elemento de donde desea apuntar; en nuestro caso, el borde inferior). En cambio, parece estar hecho de un rectángulo girado desde algún lugar en la parte superior izquierda (tal vez: ¿porque obliga al navegador a usar la GPU y, por lo tanto, acelera todo?) Y no entiendo el punto (perdón por el juego de palabras) lo suficientemente bien ( mi punta está en el lugar correcto pero invisible); así que simplemente elimino la sombra de la caja que ahora está en el lugar equivocado y la dejo como está --- cualquiera que entienda el "viejo consejo" por favor, ajústelo.
Entonces, en cambio, hago mi propio consejo, con el proceso "normal" (si no está seguro, cambie los cuatro colores de borde a continuación, en lugar de 3x transparente y 1x blanco --- por ejemplo 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;
}
Como lo demuestra este JSFiddle , no hay problema con diferentes tamaños de ventanas emergentes (ancho diferente, altura de texto diferente) si prueba ambos marcadores.
En general, esto parece robusto frente a las actualizaciones en el folleto, ya que los elementos que estoy anulando no parecen cambiar.