【问题标题】:Streamlit: change the color of multiselect widgetStreamlit:更改多选小部件的颜色
【发布时间】:2021-12-18 22:46:24
【问题描述】:

我一直在尝试更改多选小部件的颜色,特别是选择的颜色(橙色),看起来像这样

但没有任何成功。我在这里Streamlit: modify the multiselect tag background color 找到了一个讨论,它改变了多选小部件的所有元素的颜色,除了选择“框”。有人知道如何“覆盖”默认颜色值吗?

我也尝试过使用

span[data-baseweb="tag"]>span:first-child {background-color:#272272 !important;}

但它只会像这样改变橙色选择的中间部分:

【问题讨论】:

  • 我对streamlit不太熟悉,但是如果文档中没有提到直接的方法,那么您至少应该始终能够检查元素,找到提供的css类这些值,并通过特异性选择器或!important 覆盖它们以成为您喜欢的任何值。
  • @vinzee 嗨,实际上我在我的问题中添加了错误的链接。我想加入你的讨论。但是,当它只改变除“橙色”选项之外的所有元素的颜色时。我正在尝试使用此代码 "span[data-baseweb="tag"]>span:first-child { background-color:#272272 !important; }" 但它只会改变橙色的中间部分。我按照 Chris W. 的建议检查了元素,但我编写的代码唯一得到的是中间部分的颜色变化。你没有这方面的经验吗?
  • @vinzee 我已经将问题中的链接更改为您的讨论.....顺便说一句,对不起,我想添加我在之前评论中得到的图片,但似乎我不能加入cmets??
  • 我检查了这个页面的多选元素:share.streamlit.io/panditpranav/svm_covid_tracking/main/…

标签: css streamlit


【解决方案1】:

我看到了 3 种做你想做的事的方法。第 3 种方式完全符合您的要求,但比第 2 种方式更 hacky。


.streamlit/config.toml 主题化

通过配置文件使用主题选项。您可以在 Streamlit docs 中查看有关主题的更多详细信息。

修改~/.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))

缺点是它会修改所有其他小部件颜色:


通过 Streamlit 界面进行主题化

与第一个命题相同的另一种方法是单击与第一个命题相同的菜单中的“编辑活动主题”。


通过st.markdown 使用 css 注入修改 css

最后一种方法是通过markdown修改样式:

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小部件的选择颜色,而不是其他小部件的颜色。

【讨论】:

  • 完美,第三种方式正是我想要的。万分感谢。如果我可以问,如何更改现在为“红色”的悬停边框的颜色?我正在做这样的事情 'div[data-baseweb="select"] > div:first-child {border: 1px solid #272272 !important;'但它只会把它变成固体,我不知道如何改变 hoovering borger? }
猜你喜欢
  • 2021-11-10
  • 2013-04-20
  • 1970-01-01
  • 2018-05-04
  • 2019-08-27
  • 1970-01-01
  • 2016-08-08
  • 1970-01-01
  • 2015-10-10
相关资源
最近更新 更多