Skip to main content

Stylization

You can style the Kanban appearance through CSS classes and CSS variables. The following properties accept CSS classes for columns, rows, and cards:

For details and code examples of the conditional css functions, see Conditional CSS classes.

The following code snippet applies a CSS class to a specific column, row, and card:

const columns = [
{ id: "backlog", label: "Backlog", css: "highlighted" },
// other columns
];
const rows = [
{ id: "feature", label: "Feature", css: "row-feature" },
// other rows
];
const cards = [
{ id: 1, label: "Task", column: "backlog", css: "urgent" },
// other cards
];

Beyond per-item CSS, Kanban exposes CSS variables for theming. Variables fall into two groups:

  • Kanban variables — define Kanban-specific styles
  • WX library variables — style shared UI elements (controls, calendars)
info

The WX library powers internal Kanban UI components. Treat WX variables as part of Kanban styling.

Theme variables

Override these CSS variables in your stylesheet to customize the Material theme:

.wx-material-theme {
/* WX library css variables */
--wx-field-width: 100%;
--wx-theme-name: material;
/* end of WX library css variables */

/* Kanban css variables*/
--wx-kanban-background: #f1f1f1;

/* column styles */
--wx-kanban-column-width: 300px;
--wx-kanban-column-height: 300px;

/* toolbar styles */
--wx-kanban-toolbar-height: 56px;
--wx-kanban-toolbar-align: center;
--wx-kanban-toolbar-justify: flex-start;
--wx-kanban-toolbar-control-hover: rgba(0, 0, 0, 0.07);
--wx-kanban-toolbar-control-active: rgba(0, 0, 0, 0.15);
--wx-kanban-toolbar-border: var(--wx-border);

/* card styles */
--wx-kanban-card-field-padding: 10px;
--wx-kanban-content-background: var(--wx-background);
--wx-kanban-card-border: var(--wx-border);
--wx-kanban-card-border-radius: 6px;
--wx-kanban-header-border-radius: var(--wx-kanban-card-border-radius);

/* row styles */
--wx-kanban-row-line: var(--wx-border);

/* user icon styles */
--wx-kanban-user-icon-size: 36px;

/* editor styles */
--wx-kanban-header-height: 64px;
--wx-kanban-editor-width: 569px;
--wx-kanban-editor-height: auto;
--wx-kanban-editor-x-padding: 20px;
--wx-kanban-editor-background: var(--wx-background);
--wx-kanban-editor-top-border: var(--wx-border);
--wx-kanban-editor-modal-width: 1000px;
--wx-editor-right-background: rgba(0, 0, 0, 0.03);
--wx-editor-cancel-background: rgba(0, 0, 0, 0.04);

/* column styles */
--wx-kanban-over-limit-color: var(--wx-color-danger);
--wx-kanban-collapsed-column-width: 44px;
--wx-kanban-z-index: 1;

/* progress control styles*/
--wx-progress-height: 4px;
--wx-kanban-progress-inactive-color: #dbdbdb;

/* menu styles */
--wx-kanban-menu-min-width: 100px;

/* box and shadow styles*/
--wx-kanban-shadow: none;
--wx-kanban-box-border: var(--wx-border);

/* collapsed column styles */
--wx-kanban-collapsed-padding: var(--wx-padding);
--wx-kanban-collapsed-margin: 0px;
--wx-kanban-collapsed-background: transparent;
--wx-kanban-collapsed-background-hover: #dfdfdf;

/* End of Kanban CSS variables*/
}
Note

Variable names may change in future versions. Check the names after upgrading and update the styles in your project.

Scroll style

Apply the .wx-styled-scroll CSS class to the Kanban container to enable a custom scrollbar style. Check browser compatibility before using the class:

index.html
<!-- container for Toolbar -->
<div id="toolbar"></div>
<!-- container for Kanban -->
<div id="root" class="wx-styled-scroll"></div>

Custom style

The following demo applies a custom style to Kanban:

Responsive layout

The following demo creates a responsive Kanban layout with custom CSS:

Related articles: Customization