Skip to main content

Clickable card

A clickable content card with a heading and optional description or image. It can be centered with a prop and is intended for use in columns or with a carousel wrapper.

Sed do eiusmod tempor incididunt ut labore

Et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

Sed do eiusmod tempor incididunt ut labore

Et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

Sed do eiusmod tempor incididunt ut labore

Et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

How to use

<Section class="mt-20" columns={3}>
<Markdown class="md:col-span-3">

# Clickable card

A default content card with a heading and optional description. It can be centered with a prop and is intended for use in columns or with a carousel wrapper.

</Markdown>

import ClickableCard from "~/components/cards/Default.astro";

<ClickableCard
  image={{ src: PreviewImage, alt: "" }}
  heading="Sed do eiusmod tempor incididunt ut
labore"
  description="Et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco
laboris nisi ut aliquip ex ea commodo consequat."
  btn={{
    href: "#more-examples",
    label: "Optional aria label",
  }}
/>
<ClickableCard
  image={{ src: PreviewImage, alt: "" }}
  heading="Sed do eiusmod tempor incididunt ut
labore"
  description="Et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco
laboris nisi ut aliquip ex ea commodo consequat."
  btn={{
    href: "#more-examples",
    label: "Optional aria label",
  }}
/>
<ClickableCard
  image={{ src: PreviewImage, alt: "" }}
  heading="Sed do eiusmod tempor incididunt ut
labore"
  description="Et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco
laboris nisi ut aliquip ex ea commodo consequat."
  btn={{
    href: "#more-examples",
    label: "Optional aria label",
  }}
/>

</Section>

Props

PropTypeDescription
btnobject(optional) Btn data for the card, as it behaves similar. See below.
descriptionstring(optional) The component description or supporting text.
headingstringThe heading or title displayed by the component, usually a heading element <h1-4>
imageobject(optional) Image data for the component. See below.
layoutobject(optional) Layout data for the component. See below.
classstring(optional) Additional classes applied to the root <a>.
(extends)HTMLAttributes<"a">(optional) All standard HTML attributes for a <a>.

btn object

  • href — string
    The URL or path the component links to.
  • label — string
    (optional) The aria label on the card.

image object

  • srcImageMetadata
    The imported image metadata (output from Astro’s image import).
  • alt — string
    (optional) Alt text for the image, defaults to empty string "".

layout object

  • center — boolean (optional) Aligns card text center, default is false.
  • direction — “row” | “column”
    (optional) Displays component’s elements in a row or column, default is column.

More examples

2 Columns

Sed do eiusmod tempor incididunt ut labore

Et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

Sed do eiusmod tempor incididunt ut labore

Et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

3 Columns

Sed do eiusmod tempor incididunt ut labore

Et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

Sed do eiusmod tempor incididunt ut labore

Et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

Sed do eiusmod tempor incididunt ut labore

Et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

4 Columns

Sed do eiusmod tempor incididunt ut labore

Et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

Sed do eiusmod tempor incididunt ut labore

Et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

Sed do eiusmod tempor incididunt ut labore

Et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

Sed do eiusmod tempor incididunt ut labore

Et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.


About MDX

astro-skeleton uses the @astrojs/mdx integration installed and configured in the astro.config.mjs config file.

Why MDX?

MDX is a special flavor of Markdown that supports embedded JavaScript & JSX syntax. This unlocks the ability to mix JavaScript and UI Components into Markdown content for things like interactive charts or alerts.

If you have existing content authored in MDX, this integration will hopefully make migrating a breeze.

Documentation