Styling and CSS

There are many ways to include CSS in a web application, and correspondingly there are many ways to include CSS in Storybook. Usually, it is best to try and replicate what your application does with styling in Storybook’s configuration.


CSS-in-JS libraries are designed to use basic JavaScript, and they often work in Storybook without any extra configuration. Some libraries expect components to render in a specific rendering “context” (for example, to provide themes), and you may need to add a global decorator to supply it.

Importing CSS files

If your component files import their CSS, Storybook’s webpack config will work unmodified with some exceptions:

  • If you are using a CSS precompiler, you may need to add a preset (such as the SCSS preset, or add a loader to Storybook’s webpack config).

  • In Angular, you'll need to take special care of how you handle CSS:

To use your CSS in all stories, you import it in .storybook/preview.js

Adding webfonts

If you need webfonts to be available, you may need to add some code to the .storybook/preview-head.html file. We recommend including any assets with your Storybook if possible, in which case you likely want to configure the static file location.

Add Storybook to your project in less than a minute to build components faster and easier.
Learn Storybook with in-depth tutorials that teaches Storybook best practices. Follow along with code samples.
The MIT License (MIT). Website design by @domyen and the awesome Storybook community.
Get news, free tutorials, and Storybook tips emailed to you.

Maintained by
Continuous integration by
Hosting by