Bootstrap - Popovers: Guida per Principianti

Ciao a tutti, aspiranti sviluppatori web! Oggi esploreremo il meraviglioso mondo dei Popovers di Bootstrap. Non preoccupatevi se siete nuovi a questo; vi guiderò attraverso ogni passo con la stessa pazienza che ho usato nelle mie lezioni per anni. Alla fine di questo tutorial, sarete in grado di gestire i popovers come un professionista!

Bootstrap - Popovers

Cos'è un Popover?

Prima di immergerci, capiamo cos'è un popover. Immagina di leggere un libro e di vedere una piccola asterisco accanto a una parola. Quando guardi in fondo alla pagina, trovi ulteriori informazioni su quella parola. Questo è essenzialmente ciò che fa un popover su una pagina web - fornisce informazioni aggiuntive quando un utente interagisce con un elemento.

Abilitare i Popovers

Prima di tutto, dobbiamo abilitare i popovers. È come accendere la luce prima di iniziare a leggere - devi impostare alcune cose prima di poterle utilizzare.

Per abilitare i popovers, devi includere i file JavaScript e CSS di Bootstrap nel tuo documento HTML. Ecco come farlo:

<!DOCTYPE html>
<html lang="it">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Bootstrap Popovers</title>
<link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet">
</head>
<body>
<!-- Il tuo contenuto va qui -->
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js"></script>
<script>
var popoverTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="popover"]'))
var popoverList = popoverTriggerList.map(function (popoverTriggerEl) {
return new bootstrap.Popover(popoverTriggerEl)
})
</script>
</body>
</html>

Questo codice imposta la struttura di base di un documento HTML e include i file CSS e JavaScript di Bootstrap. Lo script in fondo inizializza tutti i popovers sulla pagina.

Creare un Popover

Ora che abbiamo impostato la scena, creiamo il nostro primo popover! È semplice come aggiungere few attributi a un pulsante.

<button type="button" class="btn btn-lg btn-danger" data-bs-toggle="popover" title="Titolo del Popover" data-bs-content="Ecco alcuni contenuti fantastici. È molto coinvolgente. Non trovate?">Clicca per attivare il popover</button>

Ecco una spiegazione:

  • class="btn btn-lg btn-danger": Rende il nostro pulsante grande e rosso.
  • data-bs-toggle="popover": Dice a Bootstrap che questo elemento dovrebbe attivare un popover.
  • title="Titolo del Popover": Imposta il titolo del nostro popover.
  • data-bs-content="...": È il contenuto principale del nostro popover.

Posizionamento del Popover

Come arredare i mobili in una stanza, puoi posizionare il tuo popover in diversi modi. Bootstrap ti permette di piazzare i popovers in alto, a destra, in basso o a sinistra di un elemento.

<button type="button" class="btn btn-secondary" data-bs-container="body" data-bs-toggle="popover" data-bs-placement="top" data-bs-content="Popover in alto">
Popover in alto
</button>

<button type="button" class="btn btn-secondary" data-bs-container="body" data-bs-toggle="popover" data-bs-placement="right" data-bs-content="Popover a destra">
Popover a destra
</button>

<button type="button" class="btn btn-secondary" data-bs-container="body" data-bs-toggle="popover" data-bs-placement="bottom" data-bs-content="Popover in basso">
Popover in basso
</button>

<button type="button" class="btn btn-secondary" data-bs-container="body" data-bs-toggle="popover" data-bs-placement="left" data-bs-content="Popover a sinistra">
Popover a sinistra
</button>

L'attributo data-bs-placement determina dove il popover appare rispetto al pulsante.

Popovers Personalizzati

Vuoi aggiungere un tocco personale ai tuoi popovers? Puoi personalizzarli con il tuo own contenuto HTML!

<button type="button" class="btn btn-lg btn-danger" data-bs-toggle="popover" data-bs-html="true" title="<h3>Titolo Personalizzato</h3>" data-bs-content="<b>Contenuto in grassetto</b>. <a href='#'>Link</a> incluso.">
Popover con HTML Personalizzato
</button>

Qui, abbiamo impostato data-bs-html="true" per permettere l'uso di HTML nel contenuto del popover. Ora possiamo usare tag HTML nel titolo e nel contenuto!

Popover Non Chiudibile

A volte, vuoi che il tuo popover rimanga visibile fino a quando l'utente non lo chiude esplicitamente. È qui che i popovers non chiudibili diventano utili.

<a tabindex="0" class="btn btn-lg btn-danger" role="button" data-bs-toggle="popover" data-bs-trigger="focus" title="Popover non chiudibile" data-bs-content="Ecco alcuni contenuti fantastici. È molto coinvolgente. Non trovate?">Popover non chiudibile</a>

La chiave qui è data-bs-trigger="focus". Questo significa che il popover rimarrà aperto fino a quando l'utente non clicca altrove sulla pagina.

Popover alla Sospensione

Vuoi che il tuo popover appaia quando l'utente passa il mouse su un elemento? Facile!

<button type="button" class="btn btn-secondary" data-bs-container="body" data-bs-toggle="popover" data-bs-trigger="hover" data-bs-placement="top" data-bs-content="Passa il mouse su di me!">
Popover alla sospensione
</button>

L'attributo data-bs-trigger="hover" fa apparire il popover alla sospensione del mouse.

Popover sugli Elementi Disabilitati

Normalmente, gli elementi disabilitati non attivano interazioni utente. Ma con un piccolo trucco, possiamo fare apparire i popovers anche su di loro!

<span class="d-inline-block" tabindex="0" data-bs-toggle="popover" data-bs-trigger="hover focus" data-bs-content="Popover disabilitato">
<button class="btn btn-primary" type="button" disabled>Pulsante disabilitato</button>
</span>

Includiamo il nostro pulsante disabilitato in un <span> che gestisce l'attivazione del popover.

Opzioni

Bootstrap offre una varietà di opzioni per personalizzare i tuoi popovers. Ecco una tabella di alcune opzioni comuni:

Opzione Tipo Predefinito Descrizione
animation boolean true Applica una transizione CSS di dissolvenza al popover
container string | element | false false Aggiunge il popover a un elemento specifico
content string | element | function '' Contenuto predefinito se l'attributo data-bs-content non è presente
delay number | object 0 Ritardo nella visualizzazione e nascondimento del popover (ms)
html boolean false Permette l'uso di HTML nel popover
placement string | function 'right' Come posizionare il popover
selector string | false false Se fornito un selettore, gli oggetti popover saranno delegati ai target specificati
template string <div class="popover" role="tooltip"><div class="popover-arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div> HTML di base da usare quando si crea il popover
title string | element | function '' Valore predefinito del titolo se l'attributo title non è presente
trigger string 'click' Come viene attivato il popover - click | hover | focus | manual

Puoi usare queste opzioni quando inizializzi i popovers con JavaScript:

var popover = new bootstrap.Popover(document.querySelector('#example'), {
trigger: 'hover',
placement: 'top'
})

Ecco fatto! Ora sei un esperto di Bootstrap Popover. Ricorda, la chiave per padroneggiare questo (e qualsiasi concetto di coding) è la pratica. Quindi vai avanti, gioca con questi esempi, mescola e abbinale, e crea qualcosa di fantastico. Buon coding!

Credits: Image by storyset