我试图找到一种方法来创建以绝对位置呈现的ipywidgets小部件,我能够将它们的位置设置为绝对,但是每当我在Jupyter Lab中这样做时,它们似乎就隐藏了自己(仅顶部显示)。
我尝试更改包含小部件的div元素的z-index,这似乎没有效果。
我尝试更改页面CSS,以使其读取.p-Widget {…; position: static; …;}
而不是.p-Widget {…; position: relative; …;}
。这确实有效,但会导致很多其他问题。
还值得注意的是,以下代码在Jupyter Notebook中有效,但在Jupyter Lab中无效。
# creates a VBox of buttons
w = widgets.VBox([widgets.Button(description='button'+str(i)) for i in range(0, 6)], style=style)
w.add_class('my_class_name')
# renders a button to put w in absolute position
onclick_str = 'document.getElementsByClassName("my_class_name")
[0].style.position = "absolute"'
button_str = "<button onclick=%c%s%c>position: absolute</button>" % ("'", onclick_str, "'")
widgets.HTML(button_str)
# renders a button to put w in relative position
onclick_str = 'document.getElementsByClassName("my_class_name")[0].style.position = "relative"'
button_str = "<button onclick=%c%s%c>position: relative</button>" % ("'", onclick_str, "'")
widgets.HTML(button_str)