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 定义了在 Streamlit 应用中最常使用的强调色。一些使用 primaryColor 的 Streamlit 小部件示例包括 st.checkboxst.sliderst.text_input(当聚焦时)。

Primary Color
star

提示

任何CSS颜色都可以用作primaryColor的值以及下面的其他颜色选项。这意味着主题颜色可以用十六进制或浏览器支持的颜色名称(如“绿色”、“黄色”和“黄绿色”)来指定。它们甚至可以用RGB和HSL格式定义!

定义应用程序主内容区域使用的背景颜色。

此颜色用于需要第二种背景颜色以增加对比度的地方。最显著的是,它是侧边栏的背景颜色。它也用作大多数交互式小部件的背景颜色。

Secondary Background Color

此选项控制您 Streamlit 应用中的大部分文本颜色。

选择在您的Streamlit应用程序中使用的字体。有效值为"sans serif""serif""monospace"。如果未设置或无效,此选项默认为"sans serif"

请注意,无论在此处选择何种字体,代码块始终使用等宽字体呈现。

定义自定义主题的一个简单方法是使用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"
forum

还有问题吗?

我们的 论坛 充满了有用的信息和Streamlit专家。