streamlit设置sidebbar和页面背景

streamlit==1.29.0

1. 设置sidebar背景

代码:

import base64
import streamlit as st

def sidebar_bg(side_bg):

   side_bg_ext = 'png'

   st.markdown(
      f"""
      <style>
      [data-testid="stSidebar"] > div:first-child {{
          background: url(data:image/{side_bg_ext};base64,{base64.b64encode(open(side_bg, "rb").read()).decode()});
      }}
      </style>
      """,
      unsafe_allow_html=True,
      )

#调用
sidebar_bg('./pics/background1.jpg')

效果:

2. 设置页面背景

代码:

def main_bg(main_bg):
    main_bg_ext = "png"
    st.markdown(
        f"""
         <style>
         .stApp {{
             background: url(data:image/{main_bg_ext};base64,{base64.b64encode(open(main_bg, "rb").read()).decode()});
             background-size: cover
         }}
         </style>
         """,
        unsafe_allow_html=True
    )

#调用
main_bg('./pics/background.jpg')

效果: 

  • 22
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
Streamlit设置整个页面背景图片可以通过使用HTML和CSS来实现。下面是一个简单的步骤指南: 1. 首先,你需要在你的Streamlit应用中引入一个CSS文件。这可以通过在应用定义中添加`custom_css_files`参数来实现。例如,如果你想将一个名为`style.css`的CSS文件与你的应用一起发布,你可以这样设置: ```python import streamlit as st st.markdown(""" <style> #page { background-image: url('path/to/your/image.jpg'); background-repeat: no-repeat; background-size: cover; } </style> """) st.markdown("你的内容") ``` 这里的`path/to/your/image.jpg`是你的背景图片的路径。你需要将其替换为实际的图片路径。 2. 创建一个CSS文件(例如`style.css`),并将以下内容复制到文件中: ```css body { margin: 0; padding: 0; } #page { background-image: url('path/to/your/image.jpg'); background-repeat: no-repeat; background-size: cover; } ``` 3. 在Streamlit应用中指定这个CSS文件的路径。你可以通过在应用定义中添加`custom_css_files`参数来实现这一点。例如,如果你的CSS文件位于与你的Python脚本相同的目录下,你可以这样设置: ```python st.markdown(""" <style> #page { background-size: cover; } </style> """) st.css_file('path/to/your/stylesheet/style.css') st.markdown("你的内容") ``` 这里的关键是使用HTML中的`<style>`标签来设置CSS样式,然后在应用定义中通过`st.css_file()`方法来引入CSS文件。这将在整个Streamlit页面设置背景图片。确保将背景图片路径替换为实际的图片路径,并根据需要调整CSS样式。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

WageningenUR

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值