Card
The Card component family helps you compose structured, media-friendly content blocks using Bulma card markup.
How it works #
The Card component family mirrors Bulma's card structure so you can compose headers, media, content, and footer actions without hand-authoring the CSS classes yourself.
How to use:
This first example shows the smallest useful card: a title and a body.
How to use:
- Wrap the overall layout in
<Card>. - Add sections such as
<CardHeader>,<CardImage>,<CardContent>, and<CardFooter>as needed. - Use
<CardHeaderTitle>and<CardFooterItem>for the common sub-elements inside those regions.
Getting started
Cards are flexible containers for grouping a heading, supporting content, and optional actions into a clean presentation.
<Card style="max-width: 30rem;">
<CardHeader>
<CardHeaderTitle>Getting started</CardHeaderTitle>
</CardHeader>
<CardContent>
Cards are flexible containers for grouping a heading, supporting content, and optional actions into a clean presentation.
</CardContent>
</Card>
With image #
The CardImage section lets you place visual content at the top of a card while keeping the markup aligned with Bulma's expected card image structure.
How to use:
This demo shows a card with a top image section followed by descriptive content.
How to use:
- Add a
CardImagesection inside theCardcomponent. - Place your image markup, such as a Bulma
figureandimg, inside theCardImagetags. - Follow the image section with
CardContentto provide supporting text or related content.

Use
This example reuses a local demo asset to keep the sample self-contained.
CardImage when you want rich visual content at the top of the card.
This example reuses a local demo asset to keep the sample self-contained.
<Card style="max-width: 30rem;">
<CardImage>
<figure class="image is-4by3">
<img src="@DemoScreenshotSrcConstants.Image" alt="Image component screenshot used inside a card" />
</figure>
</CardImage>
<CardContent>
<div class="content">
Use <code>CardImage</code> when you want rich visual content at the top of the card.
<br />
<small>This example reuses a local demo asset to keep the sample self-contained.</small>
</div>
</CardContent>
</Card>
Header icon #
The CardHeaderIcon section is useful when the card header needs an action affordance, such as a menu trigger, expand/collapse toggle, or quick action button.
How to use:
This demo shows a card header with a title and an icon button for additional actions.
How to use:
- Add a
CardHeadersection to your card. - Place a
CardHeaderTitlefor the heading and aCardHeaderIconfor the action element. - Set the
AriaLabelparameter to provide an accessible label for the rendered button.
Reports
Add a
CardHeaderIcon to expose quick actions, menus, or toggle affordances in the header.
<Card style="max-width: 30rem;">
<CardHeader>
<CardHeaderTitle>Reports</CardHeaderTitle>
<CardHeaderIcon AriaLabel="open report menu">
<BootstrapIcon Name="BootstrapIconName.ChevronDown" />
</CardHeaderIcon>
</CardHeader>
<CardContent>
Add a <code>CardHeaderIcon</code> to expose quick actions, menus, or toggle affordances in the header.
</CardContent>
</Card>
Footer actions #
The CardFooter section is intended for actions or links related to the card's content. Using
How to use:
This demo shows a card footer with multiple evenly spaced action links.
CardFooterItem keeps those actions evenly distributed across the footer area.
How to use:
- Add a
CardFootersection at the bottom of theCardcomponent. - Place one or more
CardFooterItemcomponents inside the footer. - Use the
Hrefparameter on each footer item when you want the action to navigate to another page or resource.
Footer items are handy for secondary actions like sharing, bookmarking, or navigation.
<Card style="max-width: 30rem;">
<CardContent>
<div class="content">
Footer items are handy for secondary actions like sharing, bookmarking, or navigation.
</div>
</CardContent>
<CardFooter>
<CardFooterItem Href="https://github.com/BlazorExpress/BlazorExpress.Bulma/issues/40">Issue</CardFooterItem>
<CardFooterItem Href="https://bulma.io/documentation/components/card/">Spec</CardFooterItem>
<CardFooterItem Href="@DemoRouteConstants.Docs_Card_Documentation">API</CardFooterItem>
</CardFooter>
</Card>