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.

Add vertical or horizontal space.

This command adds space in the direction of its parent container. In a vertical layout, it adds vertical space. In a horizontal layout, it adds horizontal space.

Function signature[source]

st.space(size="small")

Parameters

size ("small", "medium", "large", "stretch", or int)

The size of the space. This can be one of the following values:

  • "small" (default): 0.75rem, which is the height of a widget label. This is useful for aligning buttons with labeled widgets.
  • "medium": 2.5rem, which is the height of a button or (unlabeled) input field.
  • "large": 4.25rem, which is the height of a labeled input field or unlabeled media widget, like st.file_uploader.
  • "stretch": Expands to fill remaining space in the container.
  • An integer: Fixed size in pixels.

Examples

Example 1: Use vertical space to align elements

Use small spaces to replace label heights. Use medium spaces to replace two label heights or a button.

import streamlit as st

left, middle, right = st.columns(3)

left.space("medium")
left.button("Left button", width="stretch")

middle.space("small")
middle.text_input("Middle input")

right.audio_input("Right uploader")

Example 2: Add horizontal space in a container

Use stretch space to float elements left and right.

import streamlit as st

with st.container(horizontal=True):
    st.button("Left")
    st.space("stretch")
    st.button("Right")
forum

Still have questions?

Our forums are full of helpful information and Streamlit experts.