Layouts and Containers
Streamlit provides several options for controlling how different elements are laid out on the screen.
Display items in a sidebar.
st.sidebar.write("This lives in the sidebar") st.sidebar.button("Click me!")
Insert containers laid out as side-by-side columns.
col1, col2 = st.columns(2) col1.write("this is column 1") col2.write("this is column 2")
Insert containers separated into tabs.
tab1, tab2 = st.tabs(["Tab 1", "Tab2"]) tab1.write("this is tab 1") tab2.write("this is tab 2")
Insert a multi-element container that can be expanded/collapsed.
with st.expander("Open to see more"): st.write("This is more content")
Insert a multi-element container.
c = st.container() st.write("This will show last") c.write("This will show first") c.write("This will show second")
Insert a single-element container.
c = st.empty() st.write("This will show last") c.write("This will be replaced") c.write("This will show first")
These are featured components created by our lovely community. If you don't see what you're looking for, check out our Components Hub app and Streamlit Extras for more examples and inspiration!