<div class="rtds-page-header-with-cover lg:rtds-grid lg:rtds-grid-cols-12 rtds-page-header-with-cover--text-fullwidth">
<div class="rtds-page-header__content lg:rtds-grid lg:rtds-content-center rtds-space-y-4 lg:rtds-space-y-8
lg:rtds-col-span-12
">
<div class="rtds-page-header__title rtds-grid rtds-gap-4">
<div class="rtds-order-2 rtds-space-y-2 lg:rtds-space-y-4">
<h1 class="rtds-heading-1">
Lorem ipsum dolor sit amet consectetur adipisicing elit
</h1>
</div>
<small class="rtds-text-sm rtds-order-1">
<span class="rtds-category "><svg class="rtds-icon rtds-fill-current rtds-w-2 rtds-h-2" aria-hidden="true" focusable="false" role="img">
<use href="../../icons.svg#solid--circle" />
</svg>
<span class="rtds-lowercase rtds-content-01 rtds-font-medium">evento</span>
</span>
</small>
</div>
<div class="rtds-page-header__description">
<dl class="rtds-flex rtds-flex-col rtds-gap-2 md:rtds-gap-4">
<div class="rtds-flex rtds-items-center rtds-gap-2 md:rtds-gap-4 rtds-leading-none">
<dt class="rtds-content-02"><svg class="rtds-icon rtds-fill-current rtds-w-6 rtds-h-6" aria-hidden="true" focusable="false" role="img">
<use href="../../icons.svg#outline--calendar-days" />
</svg>
<span class="rtds-sr-only">Giorni</span>
</dt>
<dd class="rtds-leading-tight"><time class="rtds-font-bold" datetime="2025-01-16">16.05.2025</time></dd>
</div>
<div class="rtds-flex rtds-items-center rtds-gap-2 md:rtds-gap-4 rtds-leading-none">
<dt class="rtds-content-02"><svg class="rtds-icon rtds-fill-current rtds-w-6 rtds-h-6" aria-hidden="true" focusable="false" role="img">
<use href="../../icons.svg#outline--clock" />
</svg>
<span class="rtds-sr-only">Orari</span>
</dt>
<dd class="rtds-leading-tight">08:00 - 12:00 | 14:00 - 18:00</dd>
</div>
<div class="rtds-flex rtds-items-center rtds-gap-2 md:rtds-gap-4 rtds-leading-none">
<dt class="rtds-content-02"><svg class="rtds-icon rtds-fill-current rtds-w-6 rtds-h-6" aria-hidden="true" focusable="false" role="img">
<use href="../../icons.svg#outline--map-pin" />
</svg>
<span class="rtds-sr-only">Luogo</span>
</dt>
<dd class="rtds-leading-tight">Sala Eden Bastione Garibaldi, viale Alessandro Manetti, 4 - Grosseto</dd>
</div>
</dl>
</div>
</div>
</div>
{% extends '@page-header-with-cover--evento' %}
{
"title": "Lorem ipsum dolor sit amet consectetur adipisicing elit",
"imgPath": "/images/cover-image.jpg",
"contentType": "evento",
"gridVariant": "textFullwidth",
"textOnly": true
}
.rtds-page-header-with-cover {
border-bottom-width: 1px;
border-color: var(--color-border-gray-01);
}
@media (min-width: 1024px) {
.rtds-page-header-with-cover {
min-height: var(--spacing-60);
}
}
:where(.rtds-page-header-with-cover) .rtds-page-header__content {
padding-left: var(--spacing-4);
padding-right: var(--spacing-4);
padding-top: var(--spacing-6);
padding-bottom: var(--spacing-6);
background-image: var(--gradient-04);
}
@media (min-width: 1024px) {
:where(.rtds-page-header-with-cover) .rtds-page-header__content {
padding-top: var(--spacing-8);
padding-bottom: var(--spacing-8);
padding-left: var(--spacing-6);
padding-right: var(--spacing-16);
}
}
:where(.rtds-page-header-with-cover--text-fullwidth) .rtds-page-header__title,
:where(.rtds-page-header-with-cover--text-fullwidth) .rtds-page-header__description {
max-width: 52em;
}
@media (min-width: 1024px) {
:where(.rtds-page-header-with-cover) .rtds-page-header__cover {
height: 100%;
}
}
@layer components {
.rtds-page-header-with-cover {
@apply rtds-border-b rtds-border-gray-01 lg:rtds-min-h-60;
}
:where(.rtds-page-header-with-cover) .rtds-page-header__content {
@apply rtds-px-4 rtds-py-6 lg:rtds-pl-6 lg:rtds-pr-16 lg:rtds-py-8 rtds-bg-gradient-04;
}
:where(.rtds-page-header-with-cover--text-fullwidth) .rtds-page-header__title,
:where(.rtds-page-header-with-cover--text-fullwidth) .rtds-page-header__description {
@apply rtds-max-w-[52em];
}
:where(.rtds-page-header-with-cover) .rtds-page-header__cover {
@apply lg:rtds-h-full;
}
}
Template per page header con immagine di copertina.
Il componente può avere:
Contenuto e immagine sono gestiti tramite una griglia a base 12 col; i due blocchi, su viewport superiore a tablet, sono disposti tramite span sulle rispettive colonne.
Vengono mostrate alcune combinazioni e varianti del componente:
Il componente accetta i seguenti parametri nel file di configurazione:
title: Titolo principale del componenteimgPath: Percorso dell’immagine di copertinacontentType: Tipo di contenuto (es: “evento”)gridVariant: Variante della griglia (“TwoThirdsOneThird”, “OneHalfOneHalf”, “OneThirdOneTwoThirds”, “textFullwidth”)description: Descrizione opzionale del contenutoupdate: Informazione di aggiornamento con tag time HTMLtextOnly: Booleano per visualizzare solo il contenuto testuale, senza immagine di copertinaisContextBanner: Booleano per indicare se il componente funge da banner contestualeLe configurazioni stampano nel template le classi di gestione span, row e col sui componenti
TwoThirdsOneThird: Layout predefinito (2/3 immagine, 1/3 contenuto)OneHalfOneHalf: Layout a metà schermo (1/2 immagine, 1/2 contenuto)OneThirdOneTwoThirds: Layout con immagine più piccola (1/3 immagine, 2/3 contenuto)textFullwidth: Layout senza immagine, contenuto a larghezza piena (il contenuto mantiene comunque una max-with di 52em per garantirne la leggibilità)rtds-page-header-with-cover: Classe principale del componentertds-page-header-with-cover--text-fullwidth: Modificatore per layout senza immaginertds-page-header__content: Contenitore del contenuto testualertds-page-header__title: Contenitore del titolortds-page-header__description: Contenitore della descrizionertds-page-header__cover: Contenitore dell’immagine di copertinaLivello AA — criteri pertinenti:
alt="" nel template — verificare se deve essere descrittiva in base al contesto<h1> come titolo principale; se isContextBanner: true, il titolo diventa <p> per evitare H1 multiplititleContext è visibile come intestazione di secondo livello visiva<div class="rtds-page-header-with-cover"> — wrapper presentazionale<h1> nella maggior parte dei casi; diventa <p> se isContextBanner: truetitleContext è presente, il titolo ha aria-labelledby="pageHeaderTitleContext pageHeaderTitle" — combinazione di titolo di contesto e titolo principale per gli screen readeralt="" nel template — usare una descrizione se l’immagine trasmette informazioni| Attributo | Valori | Condizione |
|---|---|---|
aria-labelledby sull’heading |
"pageHeaderTitleContext pageHeaderTitle" |
quando titleContext è presente — combina contesto e titolo |
titleContext e aria-labelledby, gli screen reader leggono entrambi i valori come nome dell’headingisContextBanner: true, l’heading reale della pagina si trova altrove — questa sezione funge da orientamento contestualeh1 per il titolo principale o p quando funge da banner contestuale