Layouts and Containers

Streamlit provides several options for controlling how different elements are laid out on the screen.

screenshot

Columns

Insert containers laid out as side-by-side columns.

Python
col1, col2 = st.columns(2)
col1.write("this is column 1")
col2.write("this is column 2")
screenshot

Container

Insert a multi-element container.

Python
c = st.container()
st.write("This will show last")
c.write("This will show first")
c.write("This will show second")
screenshot

Modal dialog

Insert a modal dialog that can rerun independently from the rest of the script.

Python
@st.dialog("Sign up")
def email_form():
    name = st.text_input("Name")
    email = st.text_input("Email")
screenshot

Empty

Insert a single-element container.

Python
c = st.empty()
st.write("This will show last")
c.write("This will be replaced")
c.write("This will show first")
screenshot

Expander

Insert a multi-element container that can be expanded/collapsed.

Python
with st.expander("Open to see more"):
  st.write("This is more content")
screenshot

Popover

Insert a multi-element popover container that can be opened/closed.

Python
with st.popover("Settings"):
  st.checkbox("Show completed")
screenshot

Sidebar

Display items in a sidebar.

Python
st.sidebar.write("This lives in the sidebar")
st.sidebar.button("Click me!")
screenshot

Space

Add vertical or horizontal space.

Python
st.space("small")
screenshot

Tabs

Insert containers separated into tabs.

Python
tab1, tab2 = st.tabs(["Tab 1", "Tab2"])
tab1.write("this is tab 1")
tab2.write("this is tab 2")

Third-party components

These are featured components created by our lovely community. For more examples and inspiration, check out our Components Gallery and Streamlit Extras!

screenshot

Streamlit Pages

An experimental version of Streamlit Multi-Page Apps. Created by @blackary.

Python
from st_pages import Page, show_pages, add_page_title

show_pages([ Page("streamlit_app.py", "Home", "🏠"),
  Page("other_pages/page2.py", "Page 2", ":books:"), ])
forum

Still have questions?

Our forums are full of helpful information and Streamlit experts.