You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改Streamlit输入组件的标签字体大小?

修改Streamlit输入组件标签字体大小的方法

为什么之前的方法无效

st.text_input这类输入组件的label参数只支持纯文本,不会解析Markdown语法或HTML代码,所以你直接把带格式的字符串传给label是没用的。

两种可行解决方案

方案1:注入自定义CSS修改样式

通过Streamlit的st.markdown注入CSS,直接覆盖组件标签的默认样式,可全局修改或针对单个组件调整:

全局修改所有文本输入框的标签

import streamlit as st

# 注入自定义CSS
st.markdown("""
<style>
/* 定位所有文本输入框的标签元素 */
div[data-testid="stTextInput"] label {
    font-size: 20px;
    /* 可选:添加加粗、颜色等样式 */
    font-weight: 600;
    color: #2c3e50;
}
</style>
""", unsafe_allow_html=True)

label = "Enter text here"
st.text_input(label)

仅修改指定输入框的标签

给目标组件设置key,通过key精准定位修改:

import streamlit as st

st.markdown("""
<style>
/* 匹配key为"custom_text_input"的文本输入框标签 */
div[data-testid="stTextInput"][data-key="custom_text_input"] label {
    font-size: 24px;
}
</style>
""", unsafe_allow_html=True)

label = "Enter text here"
st.text_input(label, key="custom_text_input")

方案2:隐藏原生标签,自定义带样式的标签

把组件的原生标签设为空,自己用Markdown写带样式的标签放在输入框上方,自由度更高:

import streamlit as st

label = "Enter text here"
# 自定义样式的标签
st.markdown(f"<p style='font-size:20px; margin-bottom:5px;'>{label}</p>", unsafe_allow_html=True)
# 原生标签设为空,避免重复显示
st.text_input("")

内容的提问来源于stack exchange,提问作者cottontail

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 13:12:35