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

Streamlit自定义CSS中font-weight属性不生效,如何修复?

Streamlit自定义CSS中font-weight不生效的解决方法

我为Streamlit Python脚本引入了独立的style.css样式文件,引入代码如下:

with open('style.css') as f:
  st.markdown(f'<style>{f.read()}</style>', unsafe_allow_html=True)

使用的style.css代码:

div.css-z5fcl1.egzxvld4 {
  border: 1px solid #5f9ea0;
  padding: 20px 20px 20px 70px;
  color: #3a668;
  font-weight: 500 !important;
}

目前边框、内边距和文字颜色的修改都生效了,但font-weight属性没有作用,截图显示目标文本的字体粗细仍保持默认样式。

解决方法:

  • 直接定位文本子元素设置样式
    Streamlit容器内的文本样式通常会被更内层的元素(比如p标签、带有stMarkdown类的元素)覆盖,需要把样式直接应用到这些子元素上:

    /* 对容器内所有子元素生效 */
    div.css-z5fcl1.egzxvld4 * {
      font-weight: 500 !important;
    }
    
    /* 精准定位Markdown文本的p标签 */
    div.css-z5fcl1.egzxvld4 p {
      font-weight: 500 !important;
    }
    
  • 确认元素的实际类名
    Streamlit的组件类名(如css-z5fcl1、egzxvld4)是动态生成的,可能随版本变化。可以用浏览器F12开发者工具定位目标文本的实际元素层级,找到更稳定的选择器。比如如果文本所在元素带有stMarkdown类,可修改为:

    div.css-z5fcl1.egzxvld4 .stMarkdown {
      font-weight: 500 !important;
    }
    
  • 检查字体是否支持对应字重
    部分字体可能不支持500这个字重级别,尝试改用bold(对应700)测试:

    div.css-z5fcl1.egzxvld4 p {
      font-weight: bold !important;
    }
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 16:02:18