Card
Defaults
jsx
// Card selectors.
$card-selector: ".card" !default;
$card-image-selector: ".card-image" !default;
$card-content-selector: ".card-content" !default;
$card-body-selector: ".card-body" !default;
$card-header-selector: ".card-header" !default;
$card-footer-selector: ".card-footer" !default;
$card-title-selector: ".card-title" !default;
$horizontal-card-selector: ".horizontal" !default;
$horizontal-card-left-selector: ".left" !default;
$horizontal-card-right-selector: ".right" !default;
$vertical-card-top-selector: ".top" !default;
$vertical-card-bottom-selector: ".bottom" !default;
$inverse-card-selector: ".inverse" !default;
// Card properties.
$card-transform: none !default;
$card-hover-transform: $card-transform !default;
// Card layout properties.
$card-content-ratio: 1fr !default;
$card-image-ratio: auto !default;
$horizontal-card-content-ratio: 3fr !default;
$horizontal-card-image-ratio: 2fr !default;
Variables
Card Properties
jsx
--#{root-defaults.$prefix}card-padding-x
--#{root-defaults.$prefix}card-padding-y
--#{root-defaults.$prefix}card-padding
--#{root-defaults.$prefix}card-transition
--#{root-defaults.$prefix}card-transition-reduced-motion
Card transform properties
jsx
--#{root-defaults.$prefix}card-transform
--#{root-defaults.$prefix}card-hover-transform
Card gap properties
jsx
--#{root-defaults.$prefix}card-column-gap
--#{root-defaults.$prefix}card-row-gap
--#{root-defaults.$prefix}card-gap
Card color properties
jsx
--#{root-defaults.$prefix}card-background
--#{root-defaults.$prefix}card-color
Card border-properties
jsx
--#{root-defaults.$prefix}card-border-color
--#{root-defaults.$prefix}card-top-left-border-radius
--#{root-defaults.$prefix}card-top-right-border-radius
--#{root-defaults.$prefix}card-bottom-left-border-radius
--#{root-defaults.$prefix}card-bottom-right-border-radius
--#{root-defaults.$prefix}card-border-radius
--#{root-defaults.$prefix}card-border-style
--#{root-defaults.$prefix}card-border-width
--#{root-defaults.$prefix}card-border
Card layout properties
jsx
--#{root-defaults.$prefix}card-content-ratio
--#{root-defaults.$prefix}card-image-ratio
--#{root-defaults.$prefix}horizontal-card-content-ratio
--#{root-defaults.$prefix}horizontal-card-image-ratio
Card Image Properties
jsx
--#{root-defaults.$prefix}card-image-padding-x
--#{root-defaults.$prefix}card-image-padding-y
--#{root-defaults.$prefix}card-image-padding
Card content properties
jsx
--#{root-defaults.$prefix}card-content-padding-x
--#{root-defaults.$prefix}card-content-padding-y
--#{root-defaults.$prefix}card-content-padding
Card content gap properties
jsx
--#{root-defaults.$prefix}card-content-column-gap
--#{root-defaults.$prefix}card-content-row-gap
--#{root-defaults.$prefix}card-content-gap
Card title properties
jsx
--#{root-defaults.$prefix}card-title-color
--#{root-defaults.$prefix}card-title-font-size
--#{root-defaults.$prefix}card-title-font-weight
--#{root-defaults.$prefix}card-title-font-family
--#{root-defaults.$prefix}card-title-line-height
Markup
jsx
<div class="py-10 full-width container">
<h2>Cards</h2>
<p>Cards using the <span class="display-inline-block text-tertiary-800 bg-secondary-100 px-1">.top</span> class will have the image placed on the top while cards using the <span class="display-inline-block text-tertiary-800 bg-secondary-100 px-1">.bottom</span> class will have the image placed on the bottom.</p>
<div class="columns">
<div class="card">
<div class="card-image">
<img src="https://unsplash.it/1000/400" alt="Card image">
</div>
<div class="card-content">
<div class="card-header">
<h3 class="card-title">Title</h3>
</div>
<div class="card-body">
<p>This is some text that describes the card.</p>
</div>
<div class="card-footer">
<a class="button primary stretched" href="#">Card Action</a>
</div>
</div>
</div>
<div class="card">
<div class="card-image">
<img src="https://unsplash.it/1000/400" alt="Card image">
</div>
<div class="card-content">
<div class="card-header">
<h3 class="card-title">Title</h3>
</div>
<div class="card-body">
<p>This is some text that describes the card.</p>
</div>
<div class="card-footer">
<a class="button primary stretched" href="#">Card Action</a>
</div>
</div>
</div>
<div class="card">
<div class="card-image">
<img src="https://unsplash.it/1000/400" alt="Card image">
</div>
<div class="card-content">
<div class="card-header">
<h3 class="card-title">Title</h3>
</div>
<div class="card-body">
<p>This is some text that describes the card.</p>
</div>
<div class="card-footer">
<a class="button primary stretched" href="#">Card Action</a>
</div>
</div>
</div>
<div class="card bottom">
<div class="card-image">
<img src="https://unsplash.it/1000/400" alt="Card image">
</div>
<div class="card-content">
<div class="card-header">
<h3 class="card-title">Title</h3>
</div>
<div class="card-body">
<p>This is some text that describes the card.</p>
</div>
<div class="card-footer">
<a class="button primary stretched" href="#">Card Action</a>
</div>
</div>
</div>
<div class="card bottom">
<div class="card-image">
<img src="https://unsplash.it/1000/400" alt="Card image">
</div>
<div class="card-content">
<div class="card-header">
<h3 class="card-title">Title</h3>
</div>
<div class="card-body">
<p>This is some text that describes the card.</p>
</div>
<div class="card-footer">
<a class="button primary stretched" href="#">Card Action</a>
</div>
</div>
</div>
<div class="card bottom">
<div class="card-image">
<img src="https://unsplash.it/1000/400" alt="Card image">
</div>
<div class="card-content">
<div class="card-header">
<h3 class="card-title">Title</h3>
</div>
<div class="card-body">
<p>This is some text that describes the card.</p>
</div>
<div class="card-footer">
<a class="button primary stretched" href="#">Card Action</a>
</div>
</div>
</div>
</div>
</div>
<div class="py-10 full-width container">
<h2>Horizontal Cards</h2>
<p>Cards using the <span class="display-inline-block text-tertiary-800 bg-secondary-100 px-1">.right</span> class will have the image placed on the right while cards using the <span class="display-inline-block text-tertiary-800 bg-secondary-100 px-1">.left</span> class will have the image placed on the left.</p>
<div class="columns count-2">
<div class="card horizontal">
<div class="card-image">
<img src="https://unsplash.it/1000/400" alt="Card image">
</div>
<div class="card-content">
<div class="card-header">
<h3 class="card-title">Title</h3>
</div>
<div class="card-body">
<p>This is some text that describes the card.</p>
</div>
<div class="card-footer">
<a class="button primary stretched" href="#">Card Action</a>
</div>
</div>
</div>
<div class="card horizontal right">
<div class="card-image">
<img src="https://unsplash.it/1000/400" alt="Card image">
</div>
<div class="card-content">
<div class="card-header">
<h3 class="card-title">Title</h3>
</div>
<div class="card-body">
<p>This is some text that describes the card.</p>
</div>
<div class="card-footer">
<a class="button primary stretched" href="#">Card Action</a>
</div>
</div>
</div>
<div class="card horizontal">
<div class="card-image">
<img src="https://unsplash.it/1000/400" alt="Card image">
</div>
<div class="card-content">
<div class="card-header">
<h3 class="card-title">Title</h3>
</div>
<div class="card-body">
<p>This is some text that describes the card.</p>
</div>
<div class="card-footer">
<a class="button primary stretched" href="#">Card Action</a>
</div>
</div>
</div>
<div class="card horizontal right">
<div class="card-image">
<img src="https://unsplash.it/1000/400" alt="Card image">
</div>
<div class="card-content">
<div class="card-header">
<h3 class="card-title">Title</h3>
</div>
<div class="card-body">
<p>This is some text that describes the card.</p>
</div>
<div class="card-footer">
<a class="button primary stretched" href="#">Card Action</a>
</div>
</div>
</div>
<div class="card horizontal">
<div class="card-image">
<img src="https://unsplash.it/1000/400" alt="Card image">
</div>
<div class="card-content">
<div class="card-header">
<h3 class="card-title">Title</h3>
</div>
<div class="card-body">
<p>This is some text that describes the card.</p>
</div>
<div class="card-footer">
<a class="button primary stretched" href="#">Card Action</a>
</div>
</div>
</div>
<div class="card horizontal right">
<div class="card-image">
<img src="https://unsplash.it/1000/400" alt="Card image">
</div>
<div class="card-content">
<div class="card-header">
<h3 class="card-title">Title</h3>
</div>
<div class="card-body">
<p>This is some text that describes the card.</p>
</div>
<div class="card-footer">
<a class="button primary stretched" href="#">Card Action</a>
</div>
</div>
</div>
</div>
</div>
<div class="py-10 full-width container">
<h2>Inverse Cards</h2>
<p>Cards using the <span class="display-inline-block text-tertiary-800 bg-secondary-100 px-1">.inverse</span> class will have the image placed on the right if it is a horizontal card and on the bottom if it is a vertical card.</p>
<p>This is mainly to provide a shortcut for horiztonal cards that you'd like to use the <span class="display-inline-block text-tertiary-800 bg-secondary-100 px-1">.bottom .right</span> classes on when the card is forced to be vertical.</p>
<div class="columns count-2">
<div class="card horizontal inverse">
<div class="card-image">
<img src="https://unsplash.it/1000/400" alt="Card image">
</div>
<div class="card-content">
<div class="card-header">
<h3 class="card-title">Title</h3>
</div>
<div class="card-body">
<p>This is some text that describes the card.</p>
</div>
<div class="card-footer">
<a class="button primary stretched" href="#">Card Action</a>
</div>
</div>
</div>
<div class="card horizontal inverse">
<div class="card-image">
<img src="https://unsplash.it/1000/400" alt="Card image">
</div>
<div class="card-content">
<div class="card-header">
<h3 class="card-title">Title</h3>
</div>
<div class="card-body">
<p>This is some text that describes the card.</p>
</div>
<div class="card-footer">
<a class="button primary stretched" href="#">Card Action</a>
</div>
</div>
</div>
</div>
</div>