Tabs

Organizza i contenuti in schede indipendenti a comparsa.

Per rendere tali interfacce navigabili è necessario collegare Tab e Pannelli collegando il tag <a> dei primi all’attributo id dei secondi, come mostrato di seguito.
Opzionalmente, è possibile aggiungere al bottone della tab un'icona, utilizzando un file svg.

Per fare in modo che i tab appaiano con un’animazione “a comparsa” (fade in), è sufficiente aggiungere la classe .fade ad ogni .tab-pane. Il primo .tab-pane dovrà anche avere la classe .show per rendere il contenuto iniziale visibile.

In assenza della classe .auto i tab vengono dimensionati in base al contenuto.

Contenuto 1

Contenuto 2

Contenuto 3 (non raggiungibile, il tab relativo è disabilitato)
<ul class="nav nav-tabs nav-tabs-icon-text" id="myTab3" role="tablist">
                <li class="nav-item">
                    <a class="nav-link active" id="tab1c-tab" data-toggle="tab" href="#tab1b" role="tab" aria-controls="tab1b" aria-selected="true">
                        <svg class="icon icon-primary"><use xlink:href="./dist/svg/sprite.svg#it-link"></use></svg> Tab 1
                    </a>
                </li>
                <li class="nav-item">
                    <a class="nav-link" id="tab2b-tab" data-toggle="tab" href="#tab2b" role="tab" aria-controls="tab2b" aria-selected="false">
                        <svg class="icon icon-primary"><use xlink:href="./dist/svg/sprite.svg#it-link"></use></svg> Tab 2
                    </a>
                </li>
                <li class="nav-item">
                    <a class="nav-link disabled" id="tab4b-tab" data-toggle="tab" href="#tab4b" role="tab" aria-controls="tab3b" aria-selected="false" aria-disabled="true" tabindex="-1">
                        <svg class="icon icon-primary"><use xlink:href="./dist/svg/sprite.svg#it-link"></use></svg> Tab 3 disabilitata
                    </a>
                </li>
</ul>
 <div class="tab-content" id="myTab3Content">
                <div class="tab-pane p-4 fade show active" id="tab1b" role="tabpanel" aria-labelledby="tab1c-tab"><p>Contenuto 1</p></div>
                <div class="tab-pane p-4 fade" id="tab2b" role="tabpanel" aria-labelledby="tab2b-tab"><p>Contenuto 2</p></div>
                <div class="tab-pane p-4 fade" id="tab4b" role="tabpanel" aria-labelledby="tab4b-tab">Contenuto 3 (non raggiungibile, il tab relativo è disabilitato)</div>
</div>

Tab orizzontali solo icone

Qualora si utilizzassero solo icone per la navigazione fra tab, si abbia la cura di includere all’interno del link un elemento <span> con classe .sr-only contenente la descrizione dedicata agli screen reader. La classe .sr-only impedisce la visualizzazione del testo sui browser visuali.

Contenuto 1

Contenuto 2

<ul class="nav nav-tabs nav-tabs-icon-text" id="myTab4" role="tablist">
                <li class="nav-item">
                    <a class="nav-link active" id="tab1c-tab" data-toggle="tab" href="#tab1c" role="tab" aria-controls="tab1c" aria-selected="true">
                        <svg class="icon icon-primary"><use xlink:href="./dist/svg/sprite.svg#it-link"></use></svg>
                        <span class="sr-only">Tab titolo 1</span>
                    </a>
                </li>
                <li class="nav-item">
                    <a class="nav-link" id="tab2c-tab" data-toggle="tab" href="#tab2c" role="tab" aria-controls="tab2c" aria-selected="false">
                        <svg class="icon icon-primary"><use xlink:href="./dist/svg/sprite.svg#it-link"></use></svg>
                        <span class="sr-only">Tab titolo 2</span>
                    </a>
                </li>
</ul>
 <div class="tab-content" id="myTab3Content">
                <div class="tab-pane p-4 fade show active" id="tab1c" role="tabpanel" aria-labelledby="tab1c-tab"><p>Contenuto 1</p></div>
                <div class="tab-pane p-4 fade" id="tab2c" role="tabpanel" aria-labelledby="tab2c-tab"><p>Contenuto 2</p></div>
</div>

Tab verticali

Utilizzando gli strumenti di layout di Bootstrap 4 è possibile realizzare tab a orientamento verticale. Al <div> contenitore dei link dei tab va aggiunta la classe .nav-tabs-vertical. Per quanto riguarda l'uso delle icone e delle indicazioni per gli screen reader, non vi sono differenze rispetto a quanto detto per le tab orizzontali.

<div class="bd-example-tabs">
                <div class="row">
                    <div class="col-4 col-md-3">
                        <div class="nav nav-tabs nav-tabs-vertical" id="nav-vertical-tab" role="tablist" aria-orientation="vertical">
                            <a class="nav-link active" id="nav-vertical-tab1-tab" data-toggle="tab" href="#nav-vertical-tab1" role="tab" aria-controls="nav-vertical-tab1" aria-selected="true">Tab 1</a>
                            <a class="nav-link" id="nav-vertical-tab2-tab" data-toggle="tab" href="#nav-vertical-tab2" role="tab" aria-controls="nav-vertical-tab2" aria-selected="false">Tab 2</a>
                            <a class="nav-link" id="nav-vertical-tab3-tab" data-toggle="tab" href="#nav-vertical-tab3" role="tab" aria-controls="nav-vertical-tab3" aria-selected="false">Tab 3</a>
                        </div>
                    </div>
                    <div class="col-8 col-md-9">
                        <div class="tab-content" id="nav-vertical-tabContent">
                            <div class="tab-pane p-3 fade show active" id="nav-vertical-tab1" role="tabpanel" aria-labelledby="nav-vertical-tab1-tab">Contenuto 1</div>
                            <div class="tab-pane p-3 fade" id="nav-vertical-tab2" role="tabpanel" aria-labelledby="nav-vertical-tab2-tab">Contenuto 2</div>
                            <div class="tab-pane p-3 fade" id="nav-vertical-tab3" role="tabpanel" aria-labelledby="nav-vertical-tab3-tab">Contenuto 3</div>
                        </div>
                    </div>
                </div>
</div>

Su sfondo scuro

Per visualzzare le tab su sfondo scuro, utilizzare la classe .nav-dark associandola al tag ul.

Contenuto 1

Contenuto 2

<ul class="nav nav-tabs nav-tabs-icon-text nav-dark" id="myTab54" role="tablist">
                <li class="nav-item">
                    <a class="nav-link active" id="tab1d-tab" data-toggle="tab" href="#tab1d" role="tab" aria-controls="tab1d" aria-selected="true">
                        <svg class="icon icon-primary"><use xlink:href="./dist/svg/sprite.svg#it-link"></use></svg>Tab 1
                    </a>
                </li>
                <li class="nav-item">
                    <a class="nav-link" id="tab2d-tab" data-toggle="tab" href="#tab2d" role="tab" aria-controls="tab2d" aria-selected="false">
                        <svg class="icon icon-primary"><use xlink:href="./dist/svg/sprite.svg#it-link"></use></svg>Tab 2
                    </a>
                </li>
</ul>
 <div class="tab-content" id="myTab3Content">
                <div class="tab-pane p-4 fade show active" id="tab1d" role="tabpanel" aria-labelledby="tab1d-tab"><p>Contenuto 1</p></div>
                <div class="tab-pane p-4 fade" id="tab2d" role="tabpanel" aria-labelledby="tab2d-tab"><p>Contenuto 2</p></div>
</div>
Torna su