如何移除默认Streamlit侧边栏的顶部垂直内边距?
移除Streamlit默认侧边栏的顶部垂直内边距
要去掉Streamlit侧边栏顶部的默认垂直内边距,直接用自定义CSS覆盖内置样式即可,具体做法如下:
- 在你的Streamlit脚本里注入自定义CSS代码,通过
st.markdown实现:
import streamlit as st # 注入CSS移除侧边栏顶部内边距 st.markdown(""" <style> /* 选中侧边栏的外层容器,设置顶部内边距为0 */ section[data-testid="stSidebar"] > div:first-child { padding-top: 0rem; } </style> """, unsafe_allow_html=True) # 测试用的侧边栏内容 with st.sidebar: st.header("侧边栏标题") st.write("这里是侧边栏内容")
补充说明:
- 用
data-testid选择器比直接用CSS类名更稳妥,因为Streamlit更新版本时,内置的CSS类名可能会变化,但data-testid的标识相对稳定。 - 如果不想完全去掉内边距,可以把
0rem改成你需要的数值,比如0.25rem来保留一点间距。
内容的提问来源于stack exchange,提问作者Rexcirus
相关产品推荐
相关产品推荐

