Menu

Menu

On this page

On this page

Card

A flexible and highly composable content container.

npm install @vrembem/card
Copied!
SCSS
@use "@vrembem/card";
Copied!

Options

Card uses design token CSS variables in a reference and fallback pattern. Variables are referenced in the component's styles but are not directly defined; instead, they are provided with sensible fallbacks.

VariableFallback
--vb-card-background
Copied!
var(--vb-background)
Copied!
--vb-card-foreground
Copied!
var(--vb-foreground)
Copied!
--vb-card-border
Copied!
none
Copied!
--vb-card-divider
Copied!
var(--vb-border)
Copied!
--vb-card-border-radius
Copied!
var(--vb-border-radius)
Copied!
--vb-card-box-shadow
Copied!
0 0 0 1px var(--vb-border-color)
Copied!
--vb-card-padding
Copied!
1.25em
Copied!
--vb-card-transition-timing-function
Copied!
--vb-card-transition-duration
Copied!
--vb-card-transition-property
Copied!
background-color, border-color, box-shadow, transform
Copied!
--vb-card-title-color
Copied!
--vb-card-title-font-size
Copied!
var(--vb-font-size-lg)
Copied!
--vb-card-title-font-weight
Copied!
--vb-card-title-line-height
Copied!
inherit
Copied!
--vb-card-screen-opacity
Copied!
0.8
Copied!
--vb-card-screen-background
Copied!
var(--vb-background)
Copied!

Basic usage

Cards are a highly composable container component that comes with a variety of elements. The three most basic are:

  • card__body
  • card__image
  • card__title

Card Title

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus hendrerit, lacus vel consectetur placerat, nisl eros malesuada orci, id venenatis nisi quam non turpis.

HTML
<div class="card">
  <img class="card__image" src="..." />
  <div class="card__body">
    <h2 class="card__title">...</h2>
    ...
  </div>
</div>
Copied!

For creating more distinct sections in a card, header and footer elements can be used. It's also possible to have multiple card__body elements in your cards as needed.

  • card__header
  • card__footer

Card Title

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus hendrerit, lacus vel consectetur placerat, nisl eros malesuada orci, id venenatis nisi quam non turpis.

August 20th, 201030 comments

HTML
<div class="card">
  <div class="card__header">
    <h2 class="card__title">...</h2>
  </div>
  <div class="card__body">
    ...
  </div>
  <div class="card__footer">
    ...
  </div>
</div>
Copied!

Backgrounds

Card background and screen elements are displayed behind other card elements. These can be paired with the data-mode="light" or data-mode="dark" data attributes to create a light or dark card theme.

  • card__background
  • card__screen

Card Title

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus hendrerit, lacus vel consectetur placerat, nisl eros malesuada orci, id venenatis nisi quam non turpis.

Card Title

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus hendrerit, lacus vel consectetur placerat, nisl eros malesuada orci, id venenatis nisi quam non turpis.

HTML
<div class="card">
  ...
  <img src="..." class="card__background" />
  <div class="card__screen"></div>
</div>
Copied!

Anchor cards

When creating a card using the anchor <a> element, additional styles are applied to make the card more visually interactive with hover and focus styles.