← Back to Cards

Cards pattern

Article preview card

A semantic article teaser with restrained metadata and one obvious reading path.

Live example

See the pattern in isolation

The preview uses the same locked-down composition policy as the Agate IDE.

PreviewSandboxed

Canonical source

Copy it, change it, keep it plain

These exact files power the preview and the IDE handoff.

Source

HTML

<article class="article-card" id="article">
  <p class="article-card__kicker">Field notes</p>
  <h1><a href="#article">Why plain HTML still feels immediate</a></h1>
  <p class="article-card__summary">A small document can hold structure, meaning, and a surprising amount of character.</p>
  <footer>
    <span>Web foundations</span>
    <span>4 minute read</span>
  </footer>
</article>
Source

CSS

* {
  box-sizing: border-box;
}

body {
  display: grid;
  min-height: 100vh;
  margin: 0;
  padding: 2rem;
  place-items: center;
  background: #b0436a;
  color: #2b151d;
  font-family: system-ui, sans-serif;
}

.article-card {
  width: min(100%, 34rem);
  padding: clamp(1.5rem, 5vw, 2.75rem);
  border: 4px solid #2b151d;
  background: #f7efe6;
}

.article-card__kicker {
  margin: 0 0 1rem;
  color: #8e2f50;
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.article-card h1 {
  margin: 0 0 1rem;
  font-size: clamp(1.8rem, 7vw, 3rem);
  line-height: 1.05;
}

.article-card h1 a {
  color: inherit;
  text-decoration-color: #d94f9d;
  text-decoration-thickness: 0.18em;
  text-underline-offset: 0.12em;
}

.article-card h1 a:hover {
  color: #8e2f50;
}

.article-card h1 a:focus-visible {
  outline: 4px solid #2b151d;
  outline-offset: 4px;
}

.article-card__summary {
  max-width: 32rem;
  margin: 0 0 2rem;
  color: #4a2c35;
  font-size: 1.08rem;
  line-height: 1.65;
}

.article-card footer {
  display: flex;
  padding-top: 1rem;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 0.5rem 1.5rem;
  border-top: 2px solid #2b151d;
  color: #7a5560;
  font-size: 0.85rem;
  font-weight: 750;
}

How it works

A small pattern with visible decisions

The article element groups a self-contained preview, while the heading link provides one clear destination. Supporting metadata stays outside the heading so it remains easy to scan.

A flexible footer keeps the topic and reading time aligned when space allows and stacked when it does not.

Make it yours

Open both files in the workspace.

Agate will protect different saved work before loading this example.