Repo

Usage

Card Title
A brief description of this card's content.

Card body content goes here.

<div class="zui-card">
<div class="zui-card-header">
  <div class="zui-card-title">Card Title</div>
  <div class="zui-card-description">A brief description of this card's content.</div>
</div>
<div class="zui-card-body">
  <p>Card body content goes here.</p>
</div>
</div>
Confirm Action
Are you sure you want to proceed?
<div class="zui-card">
<div class="zui-card-header">
  <div class="zui-card-title">Confirm Action</div>
  <div class="zui-card-description">Are you sure you want to proceed?</div>
</div>
<div class="zui-card-footer">
  <button class="zui-button zui-button-variant-outline">Cancel</button>
  <button class="zui-button">Confirm</button>
</div>
</div>

Elevated

Elevated Card
Uses a shadow instead of a border.

Shadow-based card style.

<div class="zui-card zui-card-elevated">
<div class="zui-card-header">
  <div class="zui-card-title">Elevated Card</div>
  <div class="zui-card-description">Uses a shadow instead of a border.</div>
</div>
<div class="zui-card-body">
  <p>Shadow-based card style.</p>
</div>
</div>

Interactive

<a href="#" class="zui-card zui-card-interactive">
<div class="zui-card-header">
  <div class="zui-card-title">Clickable Card</div>
  <div class="zui-card-description">This entire card is a link.</div>
</div>
</a>

Shape

Use the shape prop to change the corners: default (rounded), hard (square) or squircle. A squircle is a rounded square with smooth corners. Browsers without corner-shape support show normal rounded corners.

Default

Card content.

Hard

Card content.

Squircle

Card content.

<div class="zui-card">
<div class="zui-card-header">
  <div class="zui-card-title">Default</div>
</div>
<div class="zui-card-body">
  <p>Card content.</p>
</div>
</div>

<div class="zui-card zui-card-shape-hard">
<div class="zui-card-header">
  <div class="zui-card-title">Hard</div>
</div>
<div class="zui-card-body">
  <p>Card content.</p>
</div>
</div>

<div class="zui-card zui-card-shape-squircle">
<div class="zui-card-header">
  <div class="zui-card-title">Squircle</div>
</div>
<div class="zui-card-body">
  <p>Card content.</p>
</div>
</div>

To make squircle the default everywhere, add zui-squircle-all to <html> — see Squircle.

CSS custom properties

Set these on :root, on a wrapper, or on the element. See Component custom properties.

Property Default Description
--zui-card-radius var(--radius-xl) Border radius
--zui-card-border var(--color-border) Border colour
--zui-card-bg var(--color-surface) Background colour
--zui-card-padding var(--space-sm) Padding inside the card
--zui-card-shadow none (var(--shadow-lg) when elevated) Box shadow
--zui-card-title-font-size var(--step-1) Title font size
--zui-card-description-font-size var(--step--1) Description font size
--zui-card-body-font-size var(--step-0) Body font size

Theme

Copy this CSS to your project: