我一直试图更改多选择小部件的颜色,特别是选项的颜色(橙色颜色),看起来如下
但没有成功。我在这里找到了一个讨论Streamlit:修改多选择标记背景色,它改变了多选择小部件的所有元素的颜色,除了选项“方框”。有没有人知道我如何“覆盖”默认的颜色值?
我还试着用
span[data-baseweb="tag"]>span:first-child {background-color:#272272 !important;}
但它只会改变橙色的中间部分,如下所示:
发布于 2021-11-05 10:01:20
我看到了做你想做的事情的三种方法。第三种方式做你想做的事情,但比第二条更麻烦。
用.streamlit/config.toml
进行主题化
通过配置文件使用主题选项。您可以在Streamlit 文档中看到关于主题的更多细节。
修改~/.streamlit/config.toml
以包括:
[theme]
primaryColor="blue"
然后,打开你的Streamlit应用程序,点击右边的汉堡包菜单,然后“设置”>“主题”,然后选择“自定义主题”。
import streamlit as st
st.multiselect("Something", ["something1", "something2", "something3"])
st.checkbox("Enable autotune")
name = st.text_input("Enter your name")
st.markdown("Hello, {}!".format(name))
缺点是它修改了其他小部件的颜色:
流光界面的主题化
另一种与第一个命题相同的方法是在第一个命题的菜单中单击“编辑活动主题”。
通过st.markdown
使用css注入修改css
最后一种方法是通过降价修改样式:
import streamlit as st
st.markdown(
"""
<style>
span[data-baseweb="tag"] {
background-color: blue !important;
}
</style>
""",
unsafe_allow_html=True,
)
st.multiselect("Something", ["something1", "something2", "something3"])
这个选项只修改st.multiselect
小部件的颜色,而不修改其他窗口小部件的颜色。
https://stackoverflow.com/questions/69843760
复制相似问题