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