Why does Streamlit restrict nested st.columns?

从版本1.18.0开始,Streamlit允许在其他st.columns内部嵌套st.columns,但有以下限制:

  • 在应用程序的主区域中,列可以嵌套到一级嵌套。
  • 在侧边栏中,列不能嵌套。

这些限制是为了使Streamlit应用程序在所有设备尺寸上看起来都很好。多次嵌套列通常会导致不良的用户界面。 你可能能够在一个屏幕尺寸上使其看起来很好,但一旦不同屏幕的用户查看应用程序, 他们将会有不好的体验。一些列会非常小,其他列会太长,复杂的布局会显得不合适。 Streamlit尽力自动调整元素的大小,使其在不同设备上看起来很好,无需开发者的帮助。 但对于具有多级嵌套的复杂布局,这是不可能的。

我们一直在努力改进布局选项!因此,如果您有需要更复杂布局的用例,请打开一个GitHub问题,最好附上您想要实现的草图。

forum

还有问题吗?

我们的 论坛 充满了有用的信息和Streamlit专家。