如何在Jupyter Lab中以绝对位置显示ipywidgets小部件?

时间:2018-12-21 16:16:15

标签: javascript html ipython jupyter-lab ipywidgets

我试图找到一种方法来创建以绝对位置呈现的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)

0 个答案:

没有答案