Zoeken...  ⌘K GitHub

TextAnnotated text

Tekst met marginale annotaties.

/text-annotated
src/components/text/TextAnnotated.astro
---
interface Props {
  body: string;
  note: string;
  noteLabel?: string;
}
const { body = "De gemiddelde cost-per-click in de Nederlandse markt is de afgelopen drie jaar met 40% gestegen door toenemende concurrentie op de veiling. Dit maakt het optimaliseren van de kwaliteitsscore belangrijker dan ooit.", note = "CPC stijging door meer concurrenten op dezelfde zoekwoorden. Kwaliteitsscore verlagen = kosten verlagen.", noteLabel = "Noot" } = Astro.props;
---

<div class="tx-ann">
  <p class="tx-ann__body">{body}</p>
  <aside class="tx-ann__note">
    {noteLabel && <strong class="tx-ann__label">{noteLabel}</strong>}
    <p class="tx-ann__text">{note}</p>
  </aside>
</div>

<style>
  :root {
    --color-accent: #6366f1;
    --color-primary: #0a0a0a;
  }
  .tx-ann {
    display: grid;
    grid-template-columns: 1fr 200px;
    gap: 2rem;
    align-items: flex-start;
  }
  @media (max-width: 600px) {
    .tx-ann { grid-template-columns: 1fr; }
  }
  .tx-ann__body {
    margin: 0;
    font-size: 1rem;
    color: var(--color-primary);
    line-height: 1.7;
  }
  .tx-ann__note {
    padding: 0.75rem;
    background: rgba(99,102,241,0.06);
    border-radius: 0.5rem;
    border-left: 3px solid var(--color-accent);
  }
  .tx-ann__label {
    display: block;
    font-size: 0.68rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--color-accent);
    margin-bottom: 0.3rem;
  }
  .tx-ann__text {
    margin: 0;
    font-size: 0.8rem;
    color: #555;
    line-height: 1.55;
  }
</style>

Props

Prop Type Default Beschrijving
body * string Hoofdtekst
note * string Annotatie

* = verplicht