Hello there đź‘‹

Thanks for stopping by! We use cookies to help us understand how you interact with our website.

By clicking “Accept all”, you consent to our use of cookies. For more information, please see our privacy policy.

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.

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

Container

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")
screenshot

Modal dialog

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

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

Empty

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")
screenshot

Expander

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

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.

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

Sidebar

Display items in a sidebar.

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

Tabs

Insert containers separated into tabs.

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.

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.