Creare un custom slider con il carousel di Bootstrap

Transcript

Creare un custom slider con il carousel di Bootstrap
Your Inspiration Web
Web Design Community, ispirazione, tutorial, guide e risorse gratuite
http://www.yourinspirationweb.com
Creare un custom slider con il carousel di Bootstrap
Nel corso di questa guida vedremo come creare uno slider accattivante (qui trovate l'esempio
finale) in poco tempo e senza bisogno di acquistare licenze o importare nuovi script e fogli di stile,
unico requisito: utilizzare Bootstrap.
La guida è basata su Bootstrap 3 e potrebbero esserci delle variazioni per le precedenti versioni.
Se non sapete cos’è Bootstrap vi rimando alla guida su Twitter Bootstrap, essendo questa basata
sulla versione 2.3.2, vi invito a dare un’occhiata anche alla nuova versione, dove troverete tutte
le differenze con la precedente e la documentazione sull’argomento trattato oggi.
Utilizzare il carousel
Tra le tante funzionalità che Bootstrap ci mette a disposizione per lo sviluppo rapido, troviamo
anche un carousel molto sobrio, ma che ci permette di scorrere immagini e anche contenuto.
Prerequisiti
Per cominciare includiamo il foglio di stile, jQuery e lo script javascript di Bootstrap, in questo
modo:
Mentre molte funzionalità di Bootstrap necessitano esclusivamente del foglio di stile, il carousel
non può funzionare senza lo script javascript.
Il carousel
Una volta preparata la pagina vuota, andiamo a inserire nel body il codice per il carousel:
1/6
Your Inspiration Web
Web Design Community, ispirazione, tutorial, guide e risorse gratuite
http://www.yourinspirationweb.com
Vediamo come è composto:
il div contenitore con classe carousel e id univoco che identificherà il nostro slider;
un elenco con classe carousel-indicators, con cui andiamo a costruire i punti che ci
indicheranno in quale slide siamo;
un altro div con classe carousel-inner, che conterrà gli elementi div con classe item che
rappresentano le vere e proprie slide;
2 link di classe carousel-control che rappresenteranno le frecce sinistra( con classe left
) e destra( con classe right ).
Iniziamo con la customizzazione
2/6
Your Inspiration Web
Web Design Community, ispirazione, tutorial, guide e risorse gratuite
http://www.yourinspirationweb.com
Modificare gli indicatori
Modificare gli indicatori risulta abbastanza semplice:
possiamo modificare la posizione e il background applicando stili alla classe .carouselindicators
applicare uno stile a .carousel-indicators > li per modificare lo stile dei pallini, ricordando
che utilizzano di default il background come colore del centro del pallino e il bordo
arrotondato; cambiando quindi le regole per background e border possiamo creare molte
variazioni dei pallini;
è utile ricordare infine che al tag li degli indicatori viene applicata la classe active nel caso
in cui la slide corrente sia quella associata al pallino.
Modificare le frecce per il controllo
La modifica delle frecce per il controllo si può effettuare applicando uno stile alla classe
carousel-control, in aggiunta si troverà anche la classe left e right per le 2 differenti frecce.
Durante la modifica delle frecce è utile ricordare che queste sono posizionate in modo assoluto.
Lo slider
Questo punto, a differenza dei precedenti, è più complesso e richiede di capire come funziona il
3/6
Your Inspiration Web
Web Design Community, ispirazione, tutorial, guide e risorse gratuite
http://www.yourinspirationweb.com
carousel.
Per comprendere il funzionamento, dobbiamo analizzare la slide singolarmente:
La prima cosa fondamentale da sapere è che gli item sono disposti relativamente e nascosti con la
proprietà css display.
Quando la slide cambia, viene applicata all’elemento precedente o successivo la classe prev o
next insieme alla classe left o right.
Queste classi permettono alla slide che sta entrando di essere visualizzata tramite display:block;
e posizionata a sinistra o a destra in modo assoluto, in modo da dar vita alla transizione con css3
che non sarebbe altrimenti possibile. La classe left o right è utilizzata per l’animazione e viene
applicata anche all’elemento attualmente attivo.
Quando la transizione è completata, all’item viene aggiunta la classe active e le precedenti
vengono rimosse (prev o next left o right).
Fatta questa premessa, posso dirvi che è possibile modificare il comportamento e lo stile delle
slide durante l’animazione unicamente sovrascrivendo i css di default.
La prima modifica sull’animazione che ho voluto testare è stata quella sul testo:
imposto il testo di partenza nella slide entrante:
imposto lo stato normale del testo, applicando lo stile sia al caption generico che a quello
attivo:
imposto l’animazione del testo per la slide che sta uscendo:
Questo stile permette di far ruotare e rimpicciolire il testo durante la slide, quello uscente diventerà
sempre più piccolo, mentre quello entrante da grande diventerà normale.
Manca un solo accorgimento da prendere in considerazione:
L’elemento contenitore con classe carousel-inner non ci permette di far andare le scritte fuori
dal carousel, anche se queste con la nuova dimensione uscirebbero (personalmente, non mi
piaceva molto, perciò ho lasciato che il testo venisse tagliato); questo è fattibile impostando la
proprietà overflow:visible; alla classe .carousel-inner, su bootsrap è impostato su hidden.
4/6
Your Inspiration Web
Web Design Community, ispirazione, tutorial, guide e risorse gratuite
http://www.yourinspirationweb.com
La seconda cosa che ho voluto provare è stata quella di modificare l’animazione di
default: nell’esempio l’ho sostituita con un effetto scomparsa in trasparenza; chiaramente, con
le nozioni apprese potete creare l’animazione che più vi aggrada.
La prima cosa da fare è impostare un background al contenitore; in questo modo, quando sia
l’elemento entrante che quello uscente saranno trasparenti, si vedrà comunque un colore di
sfondo:
In questo caso le slide più diventano trasparenti e più diventano scure. Anche qua la scelta è
abbastanza personale, non impostandolo l’effetto sarà di trasparenza totale per qualche
millisecondo.
Per ottenere un effetto di transizione con la trasparenza, è requisito fondamentale che le slide
siano una sopra l’altra, perciò le ho posizionate tutte in modo assoluto:
Ho inoltre eliminato il problema della proprietà display:none nelle transition css3, nascondendo la
slide tramice l’opacità a 0.
A questo punto modificando la slide nello stato intermedio della transizione, otteniamo l’effetto
comparsa della nuova slide:
E definendo lo stile per la slide attiva concludiamo l’animazione:
5/6
Your Inspiration Web
Web Design Community, ispirazione, tutorial, guide e risorse gratuite
http://www.yourinspirationweb.com
Risulta molto importante tenere la posizione relativa sull’elemento attivo, poiché altezza e
larghezza del container dipendono dalla grandezza della slide attiva.
Il risultato finale che fa da esempio pratico a questa guida lo trovate qui.
Il mio consiglio è quello di analizzare il codice (tramite gli strumenti messi a disposizione dai
browser) e provare a fare le modifiche.
Spero che questa guida possa rendervi più semplice capire i meccanismi interni del carousel e
facilitarvi la prima customizzazione, le altre poi risulteranno più semplici.
6/6
Powered by TCPDF (www.tcpdf.org)