Documentazione ed esempi per la creazione di una testata di navigazione.
L’header di un sito della Pubblica Amministrazione è solitamente composto di 3 elementi principali:
Un cosiddetto Slim Header, una sottile fascia dello stesso colore o, preferibilmente, di colore lievemente diverso rispetto al tema principale del sito, che mostra appartenenza e alcuni link funzionali con impatto globale o esterno al sito stesso.
Un Header Centrale che identifica in modo chiaro il sito attraverso logo, testo e social, e può contenere un link per effettuare ricerche sul sito.
Un Header Nav dedicato alla navigazione, visibile su schermi di grandi dimensioni e attraverso il classico pulsante di tipo “burger menu”
() su dispositivi mobili.
Accessibilità
Considerando l’importanza dell’Header per la navigazione, si ricorda porre particolare attenzione all’utilizzo della corretta semantica HTML, alle etichette e agli attributi ARIA, oltre a validare e testare sempre con utenti il risultato.
Il titolo del sito, “Nome dell’Istituzione” negli esempi, è contenuto in un <div> generico e non un tag <h1> per evitare conflitti con gli <h1> presenti nelle singole pagine. Nel caso in cui la home page fosse priva di un titolo (es: primo contenuto è una ultima notizia in evidenza) si può applicare il tag <h1> al titolo dell’header unicamente in quella pagina oppure creare un h1 nei contenuti principali di pagina con classe .visually-hidden. Questa ultima soluzione sarà anche utile a dare focus direttamente al tag <h1> laddove siano presenti skiplinks che permettano agli utenti che navigano da tastiera o con tecnologie assistive di saltare i contenuti dell’Header.
Maggiori dettagli sull’accessibilità del componente megamenu nella relativa pagina.
Slim Header
Lo Slim Header mostra un’intestazione, solitamente con riferimento all’ente di appartenenza del progetto o riferimenti utili, oltre ad un eventuale menu per il cambio lingua e l’accesso ad area riservata.
Il cambio lingua è gestito con il componente dropdown.
Per trasformare il pulsante di action situato nell’elemento identificato con .it-header-slim-right-zone e renderlo full-responsive è sufficiente applicare la classe .btn-full alla classe .btn del link/pulsante.
Il modificatore .btn-full è disponibile anche con il tema chiaro attivato da .theme-light.
<divclass="it-header-center-wrapper"><divclass="container-xxl"><divclass="row"><divclass="col-12"><divclass="it-header-center-content-wrapper"><divclass="it-brand-wrapper"><ahref="#"><svgclass="icon"aria-hidden="true"><usehref="/dist/svg/sprites.svg#it-pa"></use></svg><divclass="it-brand-text"><divclass="it-brand-title">Nome dell'Istituzione</div><divclass="it-brand-tagline d-none d-md-block">Tag line dell'Istituzione</div></div></a></div><divclass="it-right-zone"><divclass="it-socials d-none d-md-flex"><span>Seguici su</span><ul><li><ahref="#"aria-label="Facebook"target="_blank"><svgclass="icon"><usehref="/dist/svg/sprites.svg#it-facebook"></use></svg></a></li><li><ahref="#"aria-label="Github"target="_blank"><svgclass="icon"><usehref="/dist/svg/sprites.svg#it-github"></use></svg></a></li><li><ahref="#"aria-label="Twitter"target="_blank"><svgclass="icon"><usehref="/dist/svg/sprites.svg#it-twitter"></use></svg></a></li></ul></div><divclass="it-search-wrapper"><spanclass="d-none d-md-block">Cerca</span><aclass="search-link rounded-icon"aria-label="Cerca nel sito"href="#"><svgclass="icon"><usehref="/dist/svg/sprites.svg#it-search"></use></svg></a></div></div></div></div></div></div></div>
Versione compatta
Per utilizzare la versione più compatta in verticale dell’header centrale è sufficiente aggiungere la classe it-small-header al tag <div class="it-header-center-wrapper">
<divclass="it-header-navbar-wrapper"><divclass="container-xxl"><divclass="row"><divclass="col-12"><!--start nav--><navclass="navbar navbar-expand-lg"aria-label="Navigazione principale"><buttonclass="custom-navbar-toggler"type="button"aria-controls="nav1"aria-label="Mostra/Nascondi la navigazione"data-bs-toggle="navbarcollapsible"data-bs-target="#nav1"><svgclass="icon"><usehref="/dist/svg/sprites.svg#it-burger"></use></svg></button><divclass="navbar-collapsable"id="nav1"tabindex="-1"><divclass="close-div"><buttonclass="btn close-menu"type="button"><spanclass="visually-hidden">Nascondi la navigazione</span><svgclass="icon"><usehref="/dist/svg/sprites.svg#it-close-big"></use></svg></button></div><divclass="menu-wrapper"><ulclass="navbar-nav"><liclass="nav-item active"><aclass="nav-link active"href="#"aria-current="page"><span>Link attivo</span></a></li><liclass="nav-item"><aclass="nav-link disabled"href="#"aria-disabled="true"><span>Link disabilitato</span></a></li><liclass="nav-item dropdown"><aclass="nav-link dropdown-toggle"href="#"role="button"data-bs-toggle="dropdown"aria-expanded="false"id="mainNavDropdown1"><span>Dropdown</span><svgclass="icon icon-xs"><usehref="/dist/svg/sprites.svg#it-expand"></use></svg></a><divclass="dropdown-menu"role="region"aria-labelledby="mainNavDropdown1"><divclass="link-list-wrapper"><ulclass="link-list"><li><aclass="dropdown-item list-item"href="#"><span>Link lista 1</span></a></li><li><aclass="dropdown-item list-item"href="#"><span>Link lista 2</span></a></li><li><aclass="dropdown-item list-item"href="#"><span>Link lista 3</span></a></li><li><spanclass="divider"></span></li><li><aclass="dropdown-item list-item"href="#"><span>Link lista 4</span></a></li></ul></div></div></li><!-- megamenu --><liclass="nav-item dropdown megamenu"><buttontype="button"class="nav-link dropdown-toggle px-lg-2 px-xl-3"data-bs-toggle="dropdown"aria-expanded="false"id="megamenu-1"data-focus-mouse="false"><span>Megamenu</span><svgrole="img"class="icon icon-xs"><usehref="/dist/svg/sprites.svg#it-expand"></use></svg></button><divclass="dropdown-menu shadow-lg"role="region"aria-labelledby="megamenu-1"><divclass="megamenu-content"><divclass="row"><divclass="col-xs-12 col-lg-4 px-0"><divclass="row"><divclass="col-12 it-vertical it-description pb-lg-3"><divclass="description-content px-4 ps-sm-5 ms-3"><divclass="ratio ratio-21x9 lightgrey-bg-a1 mb-4 rounded"><figureclass="figure"><imgsrc="https://placehold.co/560x240/ebebeb/808080/?text=Immagine"class="figure-img img-fluid rounded"alt="Segnaposto"></figure></div><p>
Testo utile a fornire una descrizione dei contenuti della sezione <strong>megamenu</strong>.
</p></div></div></div></div><divclass="col-12 col-lg-8"><divclass="it-heading-link-wrapper"><aclass="it-heading-link"href="#"><svgrole="img"class="icon icon-sm me-2 mb-1"><usehref="/dist/svg/sprites.svg#it-arrow-right-triangle"></use></svg><span>Esplora la sezione megamenu</span></a></div><divclass="row"><divclass="col-12 col-lg-6"><divclass="link-list-wrapper"><ulclass="link-list"><li><aclass="list-item dropdown-item"href="#"><svgrole="img"class="icon icon-sm me-2"><usehref="/dist/svg/sprites.svg#it-arrow-right-triangle"></use></svg><span>Link lista 1</span></a></li><li><aclass="list-item dropdown-item"href="#"><svgrole="img"class="icon icon-sm me-2"><usehref="/dist/svg/sprites.svg#it-arrow-right-triangle"></use></svg><span>Link lista 2</span></a></li><li><aclass="list-item dropdown-item "href="#"><svgrole="img"class="icon icon-sm me-2"><usehref="/dist/svg/sprites.svg#it-arrow-right-triangle"></use></svg><span>Link lista 3</span></a></li></ul></div></div><divclass="col-12 col-lg-6"><divclass="link-list-wrapper"><ulclass="link-list"><li><aclass="list-item dropdown-item"href="#"><svgrole="img"class="icon icon-sm me-2"><usehref="/dist/svg/sprites.svg#it-arrow-right-triangle"></use></svg><span>Link lista 4</span></a></li><li><aclass="list-item dropdown-item"href="#"><svgrole="img"class="icon icon-sm me-2"><usehref="/dist/svg/sprites.svg#it-arrow-right-triangle"></use></svg><span>Link lista 5</span></a></li><li><aclass="list-item dropdown-item "href="#"><svgrole="img"class="icon icon-sm me-2"><usehref="/dist/svg/sprites.svg#it-arrow-right-triangle"></use></svg><span>Link lista 6</span></a></li></ul></div></div></div></div></div></div></div></li></ul></div></div></nav></div></div></div></div>
Temi colore disponibili
I’Header Nav ha due temi colore, uno chiaro (“light”) e uno scuro (“dark”). Lo stile di default ha differenti caratteristiche colore a seconda della versione desktop e mobile:
Su desktop lo stile di default ha un background di colore primario e link bianchi. Gli elementi Dropdown e Megamenu hanno background bianco, testi neri e link di colore primario.
Su mobile lo stile di default ha un background bianco e testi e link di colore primario.
Per modificare il tema dell’Header Nav è sufficiente aggiungere una o tutte e due le seguenti classi al tag <nav class="it-header-navbar-wrapper">:
la classe .theme-dark-mobile riguarda la versione mobile dell’Header Nav, impostando lo sfondo di colore primario con testi e link bianchi;
la classe .theme-light-desk riguarda la versione desktop dell’Header Nav, impostando lo sfondo bianco con testi e link di colore primario. Gli elementi Dropdown e Megamenu in questo caso assumono sfondo di colore primario con testi e link bianchi.
<divclass="it-header-navbar-wrapper theme-light-desk"><divclass="container-xxl"><divclass="row"><divclass="col-12"><!--start nav--><navclass="navbar navbar-expand-lg"aria-label="Navigazione principale"><buttonclass="custom-navbar-toggler"type="button"aria-controls="nav3"aria-label="Mostra/Nascondi la navigazione"data-bs-toggle="navbarcollapsible"data-bs-target="#nav3"><svgclass="icon"><usehref="/dist/svg/sprites.svg#it-burger"></use></svg></button><divclass="navbar-collapsable"id="nav3"tabindex="-1"><divclass="close-div"><buttonclass="btn close-menu"type="button"><spanclass="visually-hidden">Nascondi la navigazione</span><svgclass="icon"><usehref="/dist/svg/sprites.svg#it-close-big"></use></svg></button></div><divclass="menu-wrapper"><ulclass="navbar-nav"><liclass="nav-item active"><aclass="nav-link active"href="#"aria-current="page"><span>Link attivo</span></a></li><liclass="nav-item"><aclass="nav-link disabled"href="#"aria-disabled="true"><span>Link disabilitato</span></a></li><liclass="nav-item dropdown"><aclass="nav-link dropdown-toggle"href="#"role="button"data-bs-toggle="dropdown"aria-expanded="false"id="mainNavDropdown3"><span>Dropdown</span><svgclass="icon icon-xs"><usehref="/dist/svg/sprites.svg#it-expand"></use></svg></a><divclass="dropdown-menu"role="region"aria-labelledby="mainNavDropdown3"><divclass="link-list-wrapper"><ulclass="link-list"><li><aclass="dropdown-item list-item"href="#"><span>Link lista 1</span></a></li><li><aclass="dropdown-item list-item"href="#"><span>Link lista 2</span></a></li><li><aclass="dropdown-item list-item"href="#"><span>Link lista 3</span></a></li><li><spanclass="divider"></span></li><li><aclass="dropdown-item list-item"href="#"><span>Link lista 4</span></a></li></ul></div></div></li><!-- megamenu --><liclass="nav-item dropdown megamenu"><buttontype="button"class="nav-link dropdown-toggle px-lg-2 px-xl-3"data-bs-toggle="dropdown"aria-expanded="false"id="megamenu-4"data-focus-mouse="false"><span>Megamenu</span><svgrole="img"class="icon icon-xs"><usehref="/dist/svg/sprites.svg#it-expand"></use></svg></button><divclass="dropdown-menu shadow-lg"role="region"aria-labelledby="megamenu-4"><divclass="megamenu-content"><divclass="row"><divclass="col-xs-12 col-lg-4 px-0"><divclass="row"><divclass="col-12 it-vertical it-description pb-lg-3"><divclass="description-content px-4 ps-sm-5 ms-3"><divclass="ratio ratio-21x9 lightgrey-bg-a1 mb-4 rounded"><figureclass="figure"><imgsrc="https://placehold.co/560x240/ebebeb/808080/?text=Immagine"class="figure-img img-fluid rounded"alt="Segnaposto"></figure></div><p>
Testo utile a fornire una descrizione dei contenuti della sezione <strong>megamenu</strong>.
</p></div></div></div></div><divclass="col-12 col-lg-8"><divclass="it-heading-link-wrapper"><aclass="it-heading-link"href="#"><svgrole="img"class="icon icon-sm me-2 mb-1"><usehref="/dist/svg/sprites.svg#it-arrow-right-triangle"></use></svg><span>Esplora la sezione megamenu</span></a></div><divclass="row"><divclass="col-12 col-lg-6"><divclass="link-list-wrapper"><ulclass="link-list"><li><aclass="list-item dropdown-item"href="#"><svgrole="img"class="icon icon-sm me-2"><usehref="/dist/svg/sprites.svg#it-arrow-right-triangle"></use></svg><span>Link lista 1</span></a></li><li><aclass="list-item dropdown-item"href="#"><svgrole="img"class="icon icon-sm me-2"><usehref="/dist/svg/sprites.svg#it-arrow-right-triangle"></use></svg><span>Link lista 2</span></a></li><li><aclass="list-item dropdown-item "href="#"><svgrole="img"class="icon icon-sm me-2"><usehref="/dist/svg/sprites.svg#it-arrow-right-triangle"></use></svg><span>Link lista 3</span></a></li></ul></div></div><divclass="col-12 col-lg-6"><divclass="link-list-wrapper"><ulclass="link-list"><li><aclass="list-item dropdown-item"href="#"><svgrole="img"class="icon icon-sm me-2"><usehref="/dist/svg/sprites.svg#it-arrow-right-triangle"></use></svg><span>Link lista 4</span></a></li><li><aclass="list-item dropdown-item"href="#"><svgrole="img"class="icon icon-sm me-2"><usehref="/dist/svg/sprites.svg#it-arrow-right-triangle"></use></svg><span>Link lista 5</span></a></li><li><aclass="list-item dropdown-item "href="#"><svgrole="img"class="icon icon-sm me-2"><usehref="/dist/svg/sprites.svg#it-arrow-right-triangle"></use></svg><span>Link lista 6</span></a></li></ul></div></div></div></div></div></div></div></li></ul></div></div></nav></div></div></div></div>
Navigazione secondaria
Al menu di navigazione principale può essere aggiunto anche un menu di navigazione secondario includendo a .menu-wrapper una seconda lista <ul> con classe .navbar-nav.navbar-secondary e la stessa struttura dati della lista .navbar-nav principale.
<headerclass="it-header-wrapper"><divclass="it-header-slim-wrapper"><divclass="container-xxl"><divclass="row"><divclass="col-12"><divclass="it-header-slim-wrapper-content"><aclass="d-none d-lg-block navbar-brand"href="#">Ente appartenenza</a><divclass="nav-mobile"><navaria-label="Navigazione secondaria"><aclass="it-opener d-lg-none"data-bs-toggle="collapse"href="#menuC1"role="button"aria-expanded="false"aria-controls="menuC1"><span>Ente appartenenza</span><svgclass="icon"aria-hidden="true"><usehref="/dist/svg/sprites.svg#it-expand"></use></svg></a><divclass="link-list-wrapper collapse"id="menuC1"><ulclass="link-list"><li><aclass="dropdown-item list-item"href="#">Link 1</a></li><li><aclass="list-item active"href="#"aria-current="page">Link 2 (Attivo)</a></li></ul></div></nav></div><divclass="it-header-slim-right-zone"><divclass="nav-item dropdown"><aclass="nav-link dropdown-toggle"href="#"role="button"data-bs-toggle="dropdown"aria-expanded="false"><spanclass="visually-hidden">Selezione lingua: lingua selezionata</span><span>ITA</span><svgclass="icon d-none d-lg-block"><usehref="/dist/svg/sprites.svg#it-expand"></use></svg></a><divclass="dropdown-menu"><divclass="row"><divclass="col-12"><divclass="link-list-wrapper"><ulclass="link-list"><li><aclass="dropdown-item list-item"href="#"><span>ITA <spanclass="visually-hidden">selezionata</span></span></a></li><li><aclass="dropdown-item list-item"href="#"><span>ENG</span></a></li></ul></div></div></div></div></div><divclass="it-access-top-wrapper"><aclass="btn btn-primary btn-xs"href="#">Accedi</a></div></div></div></div></div></div></div><divclass="it-nav-wrapper"><divclass="it-header-center-wrapper"><divclass="container-xxl"><divclass="row"><divclass="col-12"><divclass="it-header-center-content-wrapper"><divclass="it-brand-wrapper"><ahref="#"><svgclass="icon"aria-hidden="true"><usehref="/dist/svg/sprites.svg#it-pa"></use></svg><divclass="it-brand-text"><divclass="it-brand-title">Nome dell'Istituzione</div><divclass="it-brand-tagline d-none d-md-block">Tag line dell'Istituzione</div></div></a></div><divclass="it-right-zone"><divclass="it-socials d-none d-md-flex"><span>Seguici su</span><ul><li><ahref="#"aria-label="Facebook"target="_blank"><svgclass="icon"><usehref="/dist/svg/sprites.svg#it-facebook"></use></svg></a></li><li><ahref="#"aria-label="Github"target="_blank"><svgclass="icon"><usehref="/dist/svg/sprites.svg#it-github"></use></svg></a></li><li><ahref="#"aria-label="Twitter"target="_blank"><svgclass="icon"><usehref="/dist/svg/sprites.svg#it-twitter"></use></svg></a></li></ul></div><divclass="it-search-wrapper"><spanclass="d-none d-md-block">Cerca</span><aclass="search-link rounded-icon"aria-label="Cerca nel sito"href="#"><svgclass="icon"><usehref="/dist/svg/sprites.svg#it-search"></use></svg></a></div></div></div></div></div></div></div><divclass="it-header-navbar-wrapper"><divclass="container-xxl"><divclass="row"><divclass="col-12"><!--start nav--><navclass="navbar navbar-expand-lg"aria-label="Navigazione principale"><buttonclass="custom-navbar-toggler"type="button"aria-controls="navC1"aria-label="Mostra/Nascondi la navigazione"data-bs-toggle="navbarcollapsible"data-bs-target="#navC1"><svgclass="icon"><usehref="/dist/svg/sprites.svg#it-burger"></use></svg></button><divclass="navbar-collapsable"id="navC1"tabindex="-1"><divclass="close-div"><buttonclass="btn close-menu"type="button"><spanclass="visually-hidden">Nascondi la navigazione</span><svgclass="icon"><usehref="/dist/svg/sprites.svg#it-close-big"></use></svg></button></div><divclass="menu-wrapper"><ulclass="navbar-nav"><liclass="nav-item active"><aclass="nav-link active"href="#"aria-current="page"><span>Link attivo</span></a></li><liclass="nav-item"><aclass="nav-link disabled"href="#"aria-disabled="true"><span>Link disabilitato</span></a></li><liclass="nav-item dropdown"><aclass="nav-link dropdown-toggle"href="#"role="button"data-bs-toggle="dropdown"aria-expanded="false"id="mainNavDropdownC1"><span>Dropdown</span><svgclass="icon icon-xs"><usehref="/dist/svg/sprites.svg#it-expand"></use></svg></a><divclass="dropdown-menu"role="region"aria-labelledby="mainNavDropdownC1"><divclass="link-list-wrapper"><ulclass="link-list"><li><aclass="dropdown-item list-item"href="#"><span>Link lista 1</span></a></li><li><aclass="dropdown-item list-item"href="#"><span>Link lista 2</span></a></li><li><aclass="dropdown-item list-item"href="#"><span>Link lista 3</span></a></li><li><spanclass="divider"></span></li><li><aclass="dropdown-item list-item"href="#"><span>Link lista 4</span></a></li></ul></div></div></li><!-- megamenu --><liclass="nav-item dropdown megamenu"><buttontype="button"class="nav-link dropdown-toggle px-lg-2 px-xl-3"data-bs-toggle="dropdown"aria-expanded="false"id="megamenu-5"data-focus-mouse="false"><span>Megamenu</span><svgrole="img"class="icon icon-xs"><usehref="/dist/svg/sprites.svg#it-expand"></use></svg></button><divclass="dropdown-menu shadow-lg"role="region"aria-labelledby="megamenu-5"><divclass="megamenu-content"><divclass="row"><divclass="col-xs-12 col-lg-4 px-0"><divclass="row"><divclass="col-12 it-vertical it-description pb-lg-3"><divclass="description-content px-4 ps-sm-5 ms-3"><divclass="ratio ratio-21x9 lightgrey-bg-a1 mb-4 rounded"><figureclass="figure"><imgsrc="https://placehold.co/560x240/ebebeb/808080/?text=Immagine"class="figure-img img-fluid rounded"alt="Segnaposto"></figure></div><p>
Testo utile a fornire una descrizione dei contenuti della sezione <strong>megamenu</strong>.
</p></div></div></div></div><divclass="col-12 col-lg-8"><divclass="it-heading-link-wrapper"><aclass="it-heading-link"href="#"><svgrole="img"class="icon icon-sm me-2 mb-1"><usehref="/dist/svg/sprites.svg#it-arrow-right-triangle"></use></svg><span>Esplora la sezione megamenu</span></a></div><divclass="row"><divclass="col-12 col-lg-6"><divclass="link-list-wrapper"><ulclass="link-list"><li><aclass="list-item dropdown-item"href="#"><svgrole="img"class="icon icon-sm me-2"><usehref="/dist/svg/sprites.svg#it-arrow-right-triangle"></use></svg><span>Link lista 1</span></a></li><li><aclass="list-item dropdown-item"href="#"><svgrole="img"class="icon icon-sm me-2"><usehref="/dist/svg/sprites.svg#it-arrow-right-triangle"></use></svg><span>Link lista 2</span></a></li><li><aclass="list-item dropdown-item "href="#"><svgrole="img"class="icon icon-sm me-2"><usehref="/dist/svg/sprites.svg#it-arrow-right-triangle"></use></svg><span>Link lista 3</span></a></li></ul></div></div><divclass="col-12 col-lg-6"><divclass="link-list-wrapper"><ulclass="link-list"><li><aclass="list-item dropdown-item"href="#"><svgrole="img"class="icon icon-sm me-2"><usehref="/dist/svg/sprites.svg#it-arrow-right-triangle"></use></svg><span>Link lista 4</span></a></li><li><aclass="list-item dropdown-item"href="#"><svgrole="img"class="icon icon-sm me-2"><usehref="/dist/svg/sprites.svg#it-arrow-right-triangle"></use></svg><span>Link lista 5</span></a></li><li><aclass="list-item dropdown-item "href="#"><svgrole="img"class="icon icon-sm me-2"><usehref="/dist/svg/sprites.svg#it-arrow-right-triangle"></use></svg><span>Link lista 6</span></a></li></ul></div></div></div></div></div></div></div></li></ul></div></div></nav></div></div></div></div></div></header>
Versione chiara
Nella versione light è consigliabile aggiungere la classe .it-shadow al tag <div class="it-header-wrapper">.
Verrà creata un’ombra per enfatizzare l’Header rispetto alla pagina in cui è contenuto.
<headerclass="it-header-wrapper it-shadow"><divclass="it-header-slim-wrapper theme-light"><divclass="container-xxl"><divclass="row"><divclass="col-12"><divclass="it-header-slim-wrapper-content"><aclass="d-none d-lg-block navbar-brand"href="#">Ente appartenenza</a><divclass="nav-mobile"><navaria-label="Navigazione secondaria"><aclass="it-opener d-lg-none"data-bs-toggle="collapse"href="#menuC2"role="button"aria-expanded="false"aria-controls="menuC2"><span>Ente appartenenza</span><svgclass="icon"aria-hidden="true"><usehref="/dist/svg/sprites.svg#it-expand"></use></svg></a><divclass="link-list-wrapper collapse"id="menuC2"><ulclass="link-list"><li><aclass="dropdown-item list-item"href="#">Link 1</a></li><li><aclass="list-item active"href="#"aria-current="page">Link 2 (Attivo)</a></li></ul></div></nav></div><divclass="it-header-slim-right-zone"><divclass="nav-item dropdown"><aclass="nav-link dropdown-toggle"href="#"role="button"data-bs-toggle="dropdown"aria-expanded="false"><spanclass="visually-hidden">Selezione lingua: lingua selezionata</span><span>ITA</span><svgclass="icon d-none d-lg-block"><usehref="/dist/svg/sprites.svg#it-expand"></use></svg></a><divclass="dropdown-menu"><divclass="row"><divclass="col-12"><divclass="link-list-wrapper"><ulclass="link-list"><li><aclass="dropdown-item list-item"href="#"><span>ITA <spanclass="visually-hidden">selezionata</span></span></a></li><li><aclass="dropdown-item list-item"href="#"><span>ENG</span></a></li></ul></div></div></div></div></div><divclass="it-access-top-wrapper"><aclass="btn btn-primary btn-xs"href="#">Accedi</a></div></div></div></div></div></div></div><divclass="it-nav-wrapper"><divclass="it-header-center-wrapper theme-light"><divclass="container-xxl"><divclass="row"><divclass="col-12"><divclass="it-header-center-content-wrapper"><divclass="it-brand-wrapper"><ahref="#"><svgclass="icon"aria-hidden="true"><usehref="/dist/svg/sprites.svg#it-pa"></use></svg><divclass="it-brand-text"><divclass="it-brand-title">Nome dell'Istituzione</div><divclass="it-brand-tagline d-none d-md-block">Tag line dell'Istituzione</div></div></a></div><divclass="it-right-zone"><divclass="it-socials d-none d-md-flex"><span>Seguici su</span><ul><li><ahref="#"aria-label="Facebook"target="_blank"><svgclass="icon"><usehref="/dist/svg/sprites.svg#it-facebook"></use></svg></a></li><li><ahref="#"aria-label="Github"target="_blank"><svgclass="icon"><usehref="/dist/svg/sprites.svg#it-github"></use></svg></a></li><li><ahref="#"aria-label="Twitter"target="_blank"><svgclass="icon"><usehref="/dist/svg/sprites.svg#it-twitter"></use></svg></a></li></ul></div><divclass="it-search-wrapper"><spanclass="d-none d-md-block">Cerca</span><aclass="search-link rounded-icon"aria-label="Cerca nel sito"href="#"><svgclass="icon"><usehref="/dist/svg/sprites.svg#it-search"></use></svg></a></div></div></div></div></div></div></div><divclass="it-header-navbar-wrapper theme-light-desk"><divclass="container-xxl"><divclass="row"><divclass="col-12"><!--start nav--><navclass="navbar navbar-expand-lg"aria-label="Navigazione principale"><buttonclass="custom-navbar-toggler"type="button"aria-controls="navC2"aria-label="Mostra/Nascondi la navigazione"data-bs-toggle="navbarcollapsible"data-bs-target="#navC2"><svgclass="icon"><usehref="/dist/svg/sprites.svg#it-burger"></use></svg></button><divclass="navbar-collapsable"id="navC2"tabindex="-1"><divclass="close-div"><buttonclass="btn close-menu"type="button"><spanclass="visually-hidden">Nascondi la navigazione</span><svgclass="icon"><usehref="/dist/svg/sprites.svg#it-close-big"></use></svg></button></div><divclass="menu-wrapper"><ulclass="navbar-nav"><liclass="nav-item active"><aclass="nav-link active"href="#"aria-current="page"><span>Link attivo</span></a></li><liclass="nav-item"><aclass="nav-link disabled"href="#"aria-disabled="true"><span>Link disabilitato</span></a></li><liclass="nav-item dropdown"><aclass="nav-link dropdown-toggle"href="#"role="button"data-bs-toggle="dropdown"aria-expanded="false"id="mainNavDropdownC2"><span>Dropdown</span><svgclass="icon icon-xs"><usehref="/dist/svg/sprites.svg#it-expand"></use></svg></a><divclass="dropdown-menu"role="region"aria-labelledby="mainNavDropdownC2"><divclass="link-list-wrapper"><ulclass="link-list"><li><aclass="dropdown-item list-item"href="#"><span>Link lista 1</span></a></li><li><aclass="dropdown-item list-item"href="#"><span>Link lista 2</span></a></li><li><aclass="dropdown-item list-item"href="#"><span>Link lista 3</span></a></li><li><spanclass="divider"></span></li><li><aclass="dropdown-item list-item"href="#"><span>Link lista 4</span></a></li></ul></div></div></li><!-- megamenu --><liclass="nav-item dropdown megamenu"><buttontype="button"class="nav-link dropdown-toggle px-lg-2 px-xl-3"data-bs-toggle="dropdown"aria-expanded="false"id="megamenu-6"data-focus-mouse="false"><span>Megamenu</span><svgrole="img"class="icon icon-xs"><usehref="/dist/svg/sprites.svg#it-expand"></use></svg></button><divclass="dropdown-menu shadow-lg"role="region"aria-labelledby="megamenu-6"><divclass="megamenu-content"><divclass="row"><divclass="col-xs-12 col-lg-4 px-0"><divclass="row"><divclass="col-12 it-vertical it-description pb-lg-3"><divclass="description-content px-4 ps-sm-5 ms-3"><divclass="ratio ratio-21x9 lightgrey-bg-a1 mb-4 rounded"><figureclass="figure"><imgsrc="https://placehold.co/560x240/ebebeb/808080/?text=Immagine"class="figure-img img-fluid rounded"alt="Segnaposto"></figure></div><p>
Testo utile a fornire una descrizione dei contenuti della sezione <strong>megamenu</strong>.
</p></div></div></div></div><divclass="col-12 col-lg-8"><divclass="it-heading-link-wrapper"><aclass="it-heading-link"href="#"><svgrole="img"class="icon icon-sm me-2 mb-1"><usehref="/dist/svg/sprites.svg#it-arrow-right-triangle"></use></svg><span>Esplora la sezione megamenu</span></a></div><divclass="row"><divclass="col-12 col-lg-6"><divclass="link-list-wrapper"><ulclass="link-list"><li><aclass="list-item dropdown-item"href="#"><svgrole="img"class="icon icon-sm me-2"><usehref="/dist/svg/sprites.svg#it-arrow-right-triangle"></use></svg><span>Link lista 1</span></a></li><li><aclass="list-item dropdown-item"href="#"><svgrole="img"class="icon icon-sm me-2"><usehref="/dist/svg/sprites.svg#it-arrow-right-triangle"></use></svg><span>Link lista 2</span></a></li><li><aclass="list-item dropdown-item "href="#"><svgrole="img"class="icon icon-sm me-2"><usehref="/dist/svg/sprites.svg#it-arrow-right-triangle"></use></svg><span>Link lista 3</span></a></li></ul></div></div><divclass="col-12 col-lg-6"><divclass="link-list-wrapper"><ulclass="link-list"><li><aclass="list-item dropdown-item"href="#"><svgrole="img"class="icon icon-sm me-2"><usehref="/dist/svg/sprites.svg#it-arrow-right-triangle"></use></svg><span>Link lista 4</span></a></li><li><aclass="list-item dropdown-item"href="#"><svgrole="img"class="icon icon-sm me-2"><usehref="/dist/svg/sprites.svg#it-arrow-right-triangle"></use></svg><span>Link lista 5</span></a></li><li><aclass="list-item dropdown-item "href="#"><svgrole="img"class="icon icon-sm me-2"><usehref="/dist/svg/sprites.svg#it-arrow-right-triangle"></use></svg><span>Link lista 6</span></a></li></ul></div></div></div></div></div></div></div></li></ul></div></div></nav></div></div></div></div></div></header>
Attivazione tramite codice
L’unica funzionalità del componente Header che necessita l’attivazione tramite
codice è quella in cui si desidera che lo stesso si comporti in maniera sticky
ovvero con la testata sempre visibile in formato ridotto anche allo scorrere
della pagina.
Nel caso in cui si desidera che il componente sia inizializzato in maniera automatica
utilizzare l’attributo data-bs-toggle specifico per la sua inizializzazione.
Nel caso in cui si desidera importare e inizializzare autonomamente il componente
l’attributo data-bs-toggle specifico non deve essere incluso così da evitare
inizializzazioni automatiche che possono portare a comportamenti inaspettati.
Per rendere sticky il componente Header automaticamente, è sufficiente
utilizzare la classe .it-header-sticky nell’elemento identificato con la
classe .it-header-wrapper insieme all’attributo data-bs-toggle="sticky".
Per maggiori informazioni e ulteriori opzioni vedere il componente Sticky e l’esempio.
Inizializzazione manuale
Il componente Header solitamente contiene al suo interno i componenti Dropdown,
NavScroll e Collapse, si rimanda alle sezioni specifiche per l’attivazione di questi componenti:
Metodo statico che consente di ottenere l'istanza di avviso associata a un elemento DOM, è possibile utilizzarlo in questo modo: HeaderSticky.getInstance(domElement).
getOrCreateInstance
Metodo statico che restituisce un'istanza di avviso associata a un elemento DOM o ne crea una nuova nel caso in cui non fosse stata inizializzata. Puoi utilizzarla in questo modo: HeaderSticky.getOrCreateInstance(element).
dispose
Rimuove la funzionalità HeaderSticky.
Breaking change
Breaking change
Cambiata la dimensione del pulsante Accedi: cambiato classe da .btn-sm a .btn-sx.
Rimossa la classe .ms-1 dall’icona <svg> che segue la voce Megamenu negli esempi.
La navbar presente negli esempi, quando aperta in versione mobile o a forte ingrandimento, è stata reimplementata come modale per migliorare l’accessibilità con le combinazioni principali di lettori di schermo, sistema operativo e browser. Modifiche principali:
struttura: la navbar ora utilizza un pattern dialog con backdrop
gerarchia visiva: la gestione z-index è allineata al componente modale
gestione del focus: implementato focus-trap.js per utenti da tastiera e lettori di schermo, e gestione inert
il comportamento è diverso se implementata dentro o fuori dall’elemento main di pagina (se presente)
Se hai personalizzato il CSS della navbar, rivedi le tue modifiche per verificarne la compatibilità. Se hai modificato il comportamento JavaScript, assicurati che funzioni con il nuovo pattern dialog. Testa la tua implementazione con lettori di schermo e con utenti per verificarne l’accessibilità.
Il toggle del dropdown diventa <button> invece di <a>.
Gli altri elementi <a> che si comportano come toggle dropdown (eg. scelta Lingua), hanno l’aggiunta dell’attributo role="button".
Il markup del Megamenu cambia come nel nuovo componente, per approfondire andare alla relativa pagina.
Properties
Variabile CSS
Descrizione (Inglese)
Predefinito
--bsi-header-brand-color
Controls the brand color for the header, using color tokens.
var(--bsi-color-text-inverse)
--bsi-header-brand-icon-color
Controls the brand icon color for the header, using icon tokens.
var(--bsi-icon-inverse)
--bsi-header-brand-size
Controls the brand size for the header.
2.5rem
--bsi-header-brand-spacing
Controls the brand spacing for the header, using spacing tokens.
var(--it-spacing-14x)
--bsi-header-brand-tagline-size
Controls the brand tagline size for the header, using font tokens.
var(--bsi-body-font-size)
--bsi-header-brand-title-size
Controls the brand title size for the header, using font tokens.
var(--bsi-heading-5-font-size)
--bsi-header-center-background
Controls the center background for the header, using color tokens.
var(--bsi-color-background-primary)
--bsi-header-center-font-size
Controls the center font size for the header, using font tokens.
var(--bsi-label-font-size-s)
--bsi-header-center-height
Controls the center height for the header.
4.5rem
--bsi-header-center-text-color
Controls the center text color for the header, using color tokens.
var(--bsi-color-text-inverse)
--bsi-header-nav-background
Controls the nav background for the header, using color tokens.
var(--bsi-color-background-primary)
--bsi-header-nav-secondary-font-size
Controls the nav secondary font size for the header, using font tokens.
var(--bsi-label-font-size)
--bsi-header-nav-text-color
Controls the nav text color for the header, using color tokens.
var(--bsi-color-link)
--bsi-header-search-button-color
Controls the search button color for the header, using icon tokens.
var(--bsi-icon-inverse)
--bsi-header-search-button-size
Controls the search button size for the header.
3rem
--bsi-header-search-icon-color
Controls the search icon color for the header, using icon tokens.
var(--bsi-icon-inverse)
--bsi-header-search-icon-size
Controls the search icon size for the header.
1.5rem
--bsi-header-slim-background
Controls the slim background for the header. todo: use variable when ready
var(--it-color-blue-30)
--bsi-header-slim-border-color
Controls the slim border color for the header.
hsla(0, 0%, 100%, 0.2)
--bsi-header-slim-font-size
Controls the slim font size for the header, using font tokens.
var(--bsi-label-font-size-s)
--bsi-header-slim-height
Controls the slim height for the header.
3rem
--bsi-header-slim-text-color
Controls the slim text color for the header, using color tokens.
var(--bsi-color-text-inverse)
--bsi-header-social-color
Controls the social color for the header, using icon tokens.
var(--bsi-icon-inverse)
--bsi-header-spacing-inset
Controls the inset spacing for the header, using spacing tokens.