2016-07-21 10 views
3

Ich frage mich, ob es möglich ist, zwei völlig verschiedene Popup-Stile zu haben. Hier ist ein Beispiel: SolidTransparent Ich möchte beide Stile unabhängig voneinander verwenden. Zum Beispiel haben Sie den durchgehenden Hintergrund für ein Rechteck und transparent für einen Marker. Dies ist der Code, den es zu transparent ändert:Mit zwei verschiedenen Popup-Styles gleichzeitig

.leaflet-popup-content-wrapper { 
    background: #D3D3D3; 
    background: transparent; 
} 

Vielen Dank für alle Informationen, die Sie für diese Noob liefern kann :)

EDIT: Ich habe versucht, durch das Hinzufügen einer Klasse vorgeschlagen, die Art und Weise @ n0m4d gehen mein Pop-up, scheinen aber hat es nichts zu tun:

JS:

var popup = L.popup({className: 'pareina'}) 
    .setLatLng([0, 0]) 
    .setContent("I am a standalone popup.") 
    .openOn(map); 

CSS:

EDIT2: Ich schaffte es, an die Arbeit hier ist das, was ich getan habe:

JS:

var popup = L.popup({className: 'pareina'}) 
    .setLatLng([0, 0]) 
    .setContent("I am a standalone popup.") 
    .openOn(map); 

CSS das ist, wo ich Dinge tat ein bisschen anders:

.pareina .leaflet-popup-content-wrapper{ 
    background: transparent; 
} 

im Grunde habe ich .leaflet-popup-content-wrapper ein Kind Element von .pareina gemacht und es hat funktioniert! :) Danke für die Hilfe @ n0m4d

+0

Great job Domas! – n0m4d

Antwort

1

Nach Faltblatt js docs, können Sie in einem Klassennamen in den Popup-Optionen übergeben:

classname Option: Eine benutzerdefinierte Klassennamen im Popup zuzuweisen.

So Ihr Code würde wie folgt aussehen so etwas wie:

var popup = L.popup({className: 'leaflet-popup-content-wrapper' }) 
      .setLatLng(latlng) 
      .setContent('<p>Hello world!<br />This is a nice popup.</p>') 
      .openOn(map); 
+1

'var popup = L.popup ({Klassenname: 'pareina'}) .setLatLng ([0, 0]) .setContent (" Ich bin ein eigenständiges Popup. ") .openOn (map); ' das ist, was ich verwendet habe, um eine Klasse zu meinem Popup hinzuzufügen, dann in meiner CSS-Datei verwendet: ' .pareina { Hintergrund: schwarz; } ' schien nichts zu tun. –

+0

haben Sie L.popup ({className: '.pareina'}) ausprobiert? Sie haben nicht angegeben, ob wir .className oder nur className verwenden müssen. – n0m4d