This repo contains Bootstrap v4 compatible stylesheets for use with Plotly Dash. Specifically it extends Bootstrap and Bootswatch to add consistent styling to dash-core-components when using dash-bootstrap-components.
Note: This repository is experimental, and I might break things, or fail to keep up with new releases of Dash. Please use with caution, and open an issue if you discover something that doesn't work as you would expect.
Take a look at the example app in example/. There are instructions on how to run it in example/README.md.
To use these stylesheets in your own app, simply download the stylesheet of interest from dist/ and link it in your Dash app. See the Dash documentation for instructions on how to do this. Each Dash Bootstrap CSS stylesheet extends either Bootstrap or the Bootswatch theme of the same name and can be used as a drop in replacement. The additional styling for Dash components only applies to children of a component with the class dash-bootstrap applied. This allows you to ensure that Dash Bootstrap CSS will not interfere with existing styles outside of the children of that component.
For example, to style a dcc.Dropdown with Dash Bootstrap CSS, you would simply do something like
app.layout = html.Div(dcc.Dropdown(options=[...]), className="dash-bootstrap")Each sheet currently supports dcc.DatePickerSingle, dcc.DatePickerRange, dcc.Dropdown, dcc.Slider, and dcc.RangeSlider.
The stylesheets are compiled from the SASS source files available in scss/. The simplest way to build the CSS yourself is to first install dependencies with npm:
npm install The build task is managed by Grunt. You can either run
npm run grunt -- build to build all themes or
npm run grunt -- build:<theme> to build a specific theme. If you have grunt-cli installed globally, you could alternatively use a command like
grunt build:<theme>