using-streamlit-layouts

Organize Streamlit app layouts with st.sidebar, st.columns, and st.container.

224|23|Updated Jan 14, 2026
One-click install
npx skills add https://github.com/streamlit/agent-skills --skill using-streamlit-layouts-streamlit
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: using-streamlit-layouts
Source: https://github.com/streamlit/agent-skills/tree/main/developing-with-streamlit/skills/using-streamlit-layouts
Command: npx skills add https://github.com/streamlit/agent-skills --skill using-streamlit-layouts-streamlit

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Structuring Streamlit app layouts to improve usability and maintainability.

Core Features & Use Cases

  • Sidebar usage: restricts content to navigation and app-level filters for a clean main area.
  • Columns and containers: enforces max columns, proper alignment, and responsive layouts.
  • Dialogs and borders: patterns for dialogs, bordered cards, tabs, and expandable sections to organize UI.

Quick Start

Place layout components using st.sidebar, st.columns, and st.container to structure your app.

Frequently Asked Questions about using-streamlit-layouts

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I structure a Streamlit app layout with sidebars and columns?

Structure Streamlit app layouts by placing navigation and app-level filters in st.sidebar, using st.columns for responsive alignment, and st.container to organize multi-section UIs into clean, bordered cards.

Can I use dialogs and tabs to organize a multi-section Streamlit app?

Yes, you can organize Streamlit apps by applying st.dialog for modal dialogs, st.tabs for section switching, and st.expander for collapsible UI to improve usability across complex layouts.

What is the best way to manage spacing and borders in Streamlit UI components?

Manage Streamlit UI spacing and borders by applying layout patterns to st.container and bordered cards, ensuring proper alignment and responsive visual separation across multi-section apps.

When should I use st.sidebar versus st.columns in a Streamlit application?

Use st.sidebar to restrict content to navigation and app-level filters for a clean main area, and apply st.columns to enforce max columns and proper alignment for responsive layouts.

Does using horizontal containers in Streamlit help with scalable UI layouts?

Yes, using horizontal containers like st.container in Streamlit enforces proper alignment and responsive layouts, resulting in clean, scalable UI that maintains usability across multi-section apps.