For DBC components, you could try using the CSS wildcard selector [class*="primary"]
100:当涉及到组件时,单选项是一种例外,必须进行特殊处理(参见下面的css).
创建一个名为custom.css
的文件,并将其存储在位于主Dash app.py
文件本地的名为"Assets"的目录中,如下所示:
.
├── app.py
└── assets
└── custom.css
2 directories, 2 files
其中,例如,app.py
文件可以包含:
import dash_bootstrap_components as dbc
from dash import Dash, dcc, html
app = Dash(__name__, external_stylesheets=[dbc.themes.BOOTSTRAP])
badge = dbc.Button(
["Notifications", dbc.Badge("4", color="primary")], color="primary",
)
dropdown = dbc.DropdownMenu(
label="Menu",
children=[
dbc.DropdownMenuItem("Item 1"),
dbc.DropdownMenuItem("Item 2"),
dbc.DropdownMenuItem("Item 3"),
],
color="primary",
)
app.layout = dbc.Container(
[
html.H2("Dash App"),
html.H3("Change Primary Color of Components"),
dbc.Button("Test", color="primary"),
dcc.RadioItems(["Test1", "Test2"], id="Test1"),
badge,
dbc.Alert("This is a primary alert", color="primary"),
dbc.Spinner(color="primary"),
dropdown,
],
style={"textAlign": "center"},
id="container",
)
if __name__ == "__main__":
app.run_server(debug=True)
而custom.css
个文件包含:
[class*="primary"], input[type='radio'] {
color: #fff;
background-color: red!important;
accent-color: red;
border-color: orange!important;
margin: 0.2rem;
}
[class*="primary"]:hover {
background-color: maroon!important;
}
.spinner-border {
border-right-color: transparent!important;
}
这将导致: