2

使用ipyleaflet文档中的以下代码,我得到了一个带有 2 个额外自定义小部件的漂亮显示。这些小部件有一个我想删除的小黑影。

from ipyleaflet import Map, basemaps, WidgetControl
from ipywidgets import IntSlider, ColorPicker, jslink

m = Map(center=(46.01, 6.16), zoom=12, basemap=basemaps.CartoDB.DarkMatter)
zoom_slider = IntSlider(description='Zoom level:', min=0, max=15, value=7)
jslink((zoom_slider, 'value'), (m, 'zoom'))
widget_control1 = WidgetControl(widget=zoom_slider, position='topright')
m.add_control(widget_control1)

color_picker = ColorPicker(description='Pick a color:')
widget_control2 = WidgetControl(widget=color_picker, position='bottomright')
m.add_control(widget_control2)
m

这是没用的,因为我使用的是 jupyterlab 的深色主题(它将阴影转换为可怕的白色阴影),如下所示:

在此处输入图像描述

我在文档中没有找到任何参数,这可能吗?

4

1 回答 1

0

挖掘ipyleaflet代码,似乎阴影是强制性的,因为它只在这个css 文件中设置。在js 文件中设置了不同的选项,这意味着无法从 python 代码中删除阴影。

作为一个丑陋的修复,我在导入之前直接在顶部单元格上强制了一些 css ipyleaflet

# ugly fix to remove shadow from map custom widgets
from IPython.display import display, HTML
display(HTML("<style>.leaflet-widgetcontrol {box-shadow: none}</style>"))
于 2022-01-21T19:20:17.377 回答