Theming
在本指南中,我们提供了Streamlit页面元素如何受到各种主题配置选项影响的示例。有关Streamlit主题的更高级概述,请参阅主要概念文档中的主题部分。
Streamlit主题是使用常规配置选项定义的:可以通过在启动应用程序时使用streamlit run命令行标志来设置主题,或者在.streamlit/config.toml文件的[theme]部分中定义它。有关设置配置选项的更多信息,请参阅Streamlit配置文档。
以下配置选项展示了在.streamlit/config.toml文件的[theme]部分重新创建的默认Streamlit Light主题。
[theme]
primaryColor="#FF4B4B"
backgroundColor="#FFFFFF"
secondaryBackgroundColor="#F0F2F6"
textColor="#31333F"
font="sans serif"
让我们逐一查看这些选项,并在需要时提供截图来展示它们影响Streamlit应用的哪些部分。
primaryColor
primaryColor 定义了在 Streamlit 应用中最常使用的强调色。一些使用 primaryColor 的 Streamlit 小部件示例包括 st.checkbox、st.slider 和 st.text_input(当聚焦时)。

提示
任何CSS颜色都可以用作primaryColor的值以及下面的其他颜色选项。这意味着主题颜色可以用十六进制或浏览器支持的颜色名称(如“绿色”、“黄色”和“黄绿色”)来指定。它们甚至可以用RGB和HSL格式定义!
backgroundColor
定义应用程序主内容区域使用的背景颜色。
secondaryBackgroundColor
此颜色用于需要第二种背景颜色以增加对比度的地方。最显著的是,它是侧边栏的背景颜色。它也用作大多数交互式小部件的背景颜色。

textColor
此选项控制您 Streamlit 应用中的大部分文本颜色。
font
选择在您的Streamlit应用程序中使用的字体。有效值为"sans serif"、"serif"和"monospace"。如果未设置或无效,此选项默认为"sans serif"。
请注意,无论在此处选择何种字体,代码块始终使用等宽字体呈现。
base
定义自定义主题的一个简单方法是使用base选项,该选项可以对预设的Streamlit主题进行小的更改。使用base,可以通过编写以下内容将Streamlit Light主题重新创建为自定义主题:
[theme]
base="light"
base 选项允许您指定一个预设的 Streamlit 主题,您的自定义主题将继承该主题。任何在您的主题设置中未定义的主题配置选项,其值将设置为基本主题的值。base 的有效值为 "light" 和 "dark"。
例如,以下主题配置定义了一个与Streamlit Dark主题几乎相同的自定义主题,但具有一个新的primaryColor。
[theme]
base="dark"
primaryColor="purple"
如果省略base本身,它默认为"light",因此您可以通过以下配置定义一个自定义主题,将Streamlit Light主题的字体更改为衬线字体
[theme]
font="serif"
还有问题吗?
我们的 论坛 充满了有用的信息和Streamlit专家。