<section class="rtds-banner rtds-background-03 rtds-banner--image-left">
<div class="lg:rtds-flex lg:rtds-justify-between">
<figure class="rtds-banner__image rtds-banner__image-left">
<img src="../../images/feathers.jpg" alt="">
</figure>
<div class="rtds-banner__content">
<div class="rtds-flex rtds-flex-col-reverse rtds-gap-2">
<h2 class="rtds-heading-2">
Parità e inclusione
</h2>
</div>
<div class="rtds-banner__description">
<p>Accedi a norme, iniziative e strumenti dedicati alla promozione dell’equità di genere e dell’inclusione sociale. Scopri le opportunità disponibili.</p>
<p>Le politiche di parità e inclusione mirano a rimuovere le barriere che ostacolano la partecipazione paritaria di tutti alla vita lavorativa e sociale. Attraverso misure concrete, si favorisce la riduzione delle disuguaglianze, l’empowerment individuale e una crescita collettiva più equa e sostenibile.</p>
</div>
<div class="rtds-banner__action">
<a href="#" class="rtds-btn
rtds-btn--icon-right rtds-group/button rtds-btn--primary">
<span>
Scopri di più
<span class="rtds-sr-only">su ** TITOLO BANNER **</span>
<svg class="rtds-icon rtds-fill-current rtds-w-4 rtds-h-4 md:rtds-w-5 md:rtds-h-5 lg:rtds-w-6 lg:rtds-h-6 group-hover/button:rtds-translate-x-1" aria-hidden="true" focusable="false" role="img">
<use href="../../icons.svg#mini--chevron-right" />
</svg>
</a>
</div>
</div>
</div>
</section>
<section class="rtds-banner{% if bgColor %} {{ bgColor }}{% endif %}{% if imgLeft %} rtds-banner--image-left{% elseif imgRight %} rtds-banner--image-right{% endif %}{% block classes %}{% if classes %} {{ classes }}{% endif %}{% endblock classes %}">
<div class="lg:rtds-flex lg:rtds-justify-between">
{% if imgLeft %}
<figure class="rtds-banner__image rtds-banner__image-left">
<img src="{{ imgPath | path }}" alt="{{ imgAlt }}">
</figure>
{% endif %}
<div class="rtds-banner__content">
<div class="rtds-flex rtds-flex-col-reverse rtds-gap-2">
<h2 class="rtds-heading-2">
{{ title | safe }}
</h2>
</div>
{% if description %}
<div class="rtds-banner__description">
{{ description | safe }}
</div>
{% endif %}
<div class="rtds-banner__action">
{% render '@button' + button.variant, button.context, true %}
</div>
</div>
{% if imgRight %}
<figure class="rtds-banner__image rtds-banner__image-right">
<img src="{{ imgPath | path }}" alt="{{ imgAlt }}">
</figure>
{% endif %}
</div>
</section>
{
"bgColor": "rtds-background-03",
"title": "Parità e inclusione",
"category": "Category",
"description": "<p>Accedi a norme, iniziative e strumenti dedicati alla promozione dell’equità di genere e dell’inclusione sociale. Scopri le opportunità disponibili.</p><p>Le politiche di parità e inclusione mirano a rimuovere le barriere che ostacolano la partecipazione paritaria di tutti alla vita lavorativa e sociale. Attraverso misure concrete, si favorisce la riduzione delle disuguaglianze, l’empowerment individuale e una crescita collettiva più equa e sostenibile.</p>",
"imgRight": false,
"imgPath": "/images/feathers.jpg",
"imgAlt": "",
"button": {
"variant": "--icon-right",
"context": {
"label": "Scopri di più",
"href": "#",
"srOnlyLabel": "su ** TITOLO BANNER **"
}
},
"imgLeft": true
}
.rtds-banner {
--tw-bg-opacity: 1;
background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}
.rtds-banner__content {
gap: var(--spacing-4);
padding-left: var(--spacing-10);
padding-right: var(--spacing-10);
display: grid;
padding-top: var(--spacing-8);
padding-bottom: var(--spacing-8);
}
@media (min-width: 768px) {
.rtds-banner__content {
padding: var(--spacing-12);
}
}
@media (min-width: 1024px) {
.rtds-banner__content {
width: 66.666667%;
gap: var(--spacing-6);
padding: var(--spacing-16);
}
}
@media (min-width: 1536px) {
.rtds-banner__content {
padding: var(--spacing-20);
}
}
.rtds-banner__description {
max-width: 75ch;
}
.rtds-banner__description > :not([hidden]) ~ :not([hidden]) {
--tw-space-y-reverse: 0;
margin-top: calc(var(--spacing-2) * calc(1 - var(--tw-space-y-reverse)));
margin-bottom: calc(var(--spacing-2) * var(--tw-space-y-reverse));
}
.rtds-banner__description {
font-size: var(--fontsize-text-base);
line-height: 1.625;
}
@media (min-width: 1536px) {
.rtds-banner__description {
font-size: var(--fontsize-text-lg);
}
}
.rtds-banner__image {
aspect-ratio: 16 / 9;
display: flex;
justify-content: center;
}
@media (min-width: 1024px) {
.rtds-banner__image {
width: 33.333333%;
}
}
.rtds-banner__image img {
height: 100%;
width: 100%;
-o-object-fit: cover;
object-fit: cover;
-o-object-position: center;
object-position: center;
}
.rtds-banner__action {
padding-top: var(--spacing-5);
}
@layer components {
.rtds-banner {
@apply rtds-bg-white;
}
.rtds-banner__content {
@apply rtds-grid rtds-gap-4 lg:rtds-gap-6 lg:rtds-w-2/3 rtds-py-8 rtds-px-10 md:rtds-p-12 lg:rtds-p-16 2xl:rtds-p-20;
}
.rtds-banner__description {
@apply rtds-text-base 2xl:rtds-text-lg rtds-max-w-[75ch] rtds-space-y-2 rtds-leading-relaxed;
}
.rtds-banner__image {
@apply rtds-aspect-video lg:rtds-w-1/3 rtds-flex rtds-justify-center;
}
.rtds-banner__image img {
@apply rtds-object-cover rtds-object-center rtds-w-full rtds-h-full;
}
.rtds-banner__action {
@apply rtds-pt-5;
}
}
Componente per la creazione di banner informativi con supporto per immagini, testo descrittivo e call-to-action. Include layout responsive e personalizzazione completa del contenuto.
Il componente Banner è progettato per creare sezioni promozionali o informative con:
Il componente include due varianti principali per il posizionamento dell’immagine:
Il componente è strutturato come segue:
<section class="rtds-banner [bgColor] [rtds-banner--image-left|rtds-banner--image-right] [classes]">
<div class="lg:rtds-flex lg:rtds-justify-between">
<!-- Immagine a sinistra (se imgLeft è true) -->
<figure class="rtds-banner__image rtds-banner__image-left">
<img src="[imgPath]" alt="[imgAlt]">
</figure>
<!-- Contenuto principale -->
<div class="rtds-banner__content">
<div class="rtds-flex rtds-flex-col-reverse rtds-gap-2">
<h2 class="rtds-heading-2">[title]</h2>
</div>
<div class="rtds-banner__description">
[description]
</div>
<div class="rtds-banner__action">
[CTA Button]
</div>
</div>
<!-- Immagine a destra (se imgRight è true) -->
<figure class="rtds-banner__image rtds-banner__image-right">
<img src="[imgPath]" alt="[imgAlt]">
</figure>
</div>
</section>title (stringa, obbligatorio): Titolo del bannercategory (stringa, opzionale): Categoria del banner (es. “Category”)description (stringa, opzionale): Descrizione del banner (supporta HTML)bgColor (stringa, opzionale): Classe CSS per il colore di sfondo (es. ‘rtds-background-03’)classes (stringa, opzionale): Classi CSS aggiuntive per il contenitoreimgPath (stringa, obbligatorio se si utilizza un’immagine): Percorso dell’immagineimgAlt (stringa, obbligatorio se presente imgPath): Testo alternativo per l’immagineimgRight (booleano, opzionale): Posiziona l’immagine a destra (default: true nella variante default)imgLeft (booleano, opzionale): Posiziona l’immagine a sinistra (default: true nella variante image-left)button (oggetto, opzionale): Configurazione del pulsante CTAvariant (stringa, opzionale): Variante del pulsante (es. ‘–icon-right’)context (oggetto, obbligatorio se presente button): Contesto del pulsantelabel (stringa, obbligatorio): Testo del pulsantehref (stringa, obbligatorio): URL di destinazionesrOnlyLabel (stringa, opzionale): Testo aggiuntivo per screen reader (es. ‘su ** TITOLO BANNER **’)classes: Blocco per aggiungere classi CSS personalizzate al contenitore principale (utile per override di stili nelle varianti).rtds-banner: Contenitore principale del bannerrtds-bg-white).rtds-banner--image-left: Applicata quando l’immagine è posizionata a sinistra.rtds-banner--image-right: Applicata quando l’immagine è posizionata a destra.rtds-banner__content: Contenitore del contenuto principalelg:rtds-w-2/3).rtds-banner__description: Contenitore della descrizione.rtds-banner__image: Contenitore dell’immaginelg:rtds-w-1/3).rtds-banner__image img: Immagine stessa.rtds-banner__action: Contenitore del pulsante CTAIl componente è completamente responsive:
Livello AA — criteri pertinenti:
imgAlt descrittivo; se decorativa usare alt=""<section>, <figure> e <h2>srOnlyLabel per aggiungere contesto agli screen reader<section class="rtds-banner"> — identifica il banner come regione autonoma della pagina<h2> — rispetta la gerarchia degli heading nella pagina<figure> — markup semanticamente corretto per immagini illustrative| Attributo | Valori | Condizione |
|---|---|---|
alt su <img> |
stringa descrittiva o "" |
sempre presente — vuoto se decorativa |
srOnlyLabel nel contesto del button aggiunge testo nascosto al CTA per fornire contesto (es. "su Titolo Banner")imgAlt; se il titolo descrive già il contenuto, alt="" è appropriatotitle: "Parità e inclusione"
category: Category
description: "<p>Accedi a norme, iniziative e strumenti dedicati alla promozione dell'equità di genere e dell'inclusione sociale.</p>"
bgColor: 'rtds-background-03'
imgRight: true
imgPath: '/images/feathers.jpg'
imgAlt: 'Descrizione dell\'immagine'
button:
variant: '--icon-right'
context:
label: 'Scopri di più'
href: '#'
srOnlyLabel: 'su Parità e inclusione'title: "Titolo del Banner"
description: "<p>Descrizione del contenuto del banner.</p>"
imgLeft: true
imgPath: '/images/example.jpg'
imgAlt: 'Testo alternativo'
button:
variant: '--icon-right'
context:
label: 'Vai alla pagina'
href: '/pagina'title: "Titolo del Banner"
description: "<p>Descrizione del contenuto.</p>"
bgColor: 'rtds-background-02'
button:
variant: '--primary'
context:
label: 'Azione'
href: '#'