New
You're viewing older docs for version 6.3. View latest docs

Story rendering

In Storybook, your stories render in a special “preview” iframe (Canvas tab) inside the larger Storybook web application. The JavaScript build configuration of the preview is controlled by a webpack config, but you also may want to directly control the HTML that is rendered to help your stories render correctly.

Adding to <head>

If you need to add extra elements to the head of the preview iframe, for instance to load static stylesheets, font files, or similar, you can create a file called .storybook/preview-head.html and add tags like this:

Storybook will inject these tags into the preview iframe where your components are rendered not the Storybook application UI.

It's also possible to programmatically modify the preview head HTML using a preset defined in the main.js file. For more information see Preview/Manager templates.

Adding to <body>

Sometimes, you may need to add different tags to the <body>. This is useful for adding some custom content roots.

You can accomplish this by creating a file called preview-body.html inside your .storybook directory and add tags like this:

If using relative sizing in your project (like rem or em), you may update the base font-size by adding a style tag to preview-body.html:

Storybook will inject these tags into the preview iframe where your components are rendered not the Storybook application UI.

Similarly to the preview head HTML, preview body HTML can also be updated programmtically using a preset. See Preview/Manager templates for more information.

Was this page helpful?

Markdown accepted ([link text](url), _italic_, **bold**, etc). Your anonymous feedback will be posted publicly on GitHub.

✍️ Edit on GitHub – PRs welcome!
Storybook
Join the community
6,565 developers and counting
WhyWhy StorybookComponent-driven UI
DocsGuidesTutorialsChangelogTelemetryStatus
CommunityAddonsGet involvedBlog
ShowcaseExploreProjectsComponent glossary
Open source software
Storybook

Maintained by
Chromatic
Special thanks to Netlify and CircleCI