Il componente Pagination serve a realizzare un menu di navigazione tra pagine in siti multi-pagina.
<ul class="pagination"> <li class="disabled"><a href="#">«</a></li> <li><a href="#">1</a></li> <li class="active"><a href="#">2</a></li> <li><a href="#">3</a></li> <li><a href="#">4</a></li> <li><a href="#">5</a></li> <li><a href="#">»</a></li> </ul>
Si parte dalla consueta lista non ordinata e si aggiunge al tag iniziale la classe .pagination
. La classe .disabled
designa un item disabilitato e non cliccabile. La classe .active
designa l'item (pagina) corrente.
Per personalizzare il componente Pagination si può intervenire su queste regole CSS:
/* Contenitore */ .pagination { display: inline-block; padding-left: 0; margin: 20px 0; border-radius: 4px; } /* Formattazione dei singoli item */ .pagination > li > a, .pagination > li > span { position: relative; float: left; padding: 6px 12px; margin-left: -1px; line-height: 1.428571429; text-decoration: none; background-color: #ffffff; border: 1px solid #dddddd; } /* Arrotondamento degli angoli sul primo item */ .pagination > li:first-child > a, .pagination > li:first-child > span { margin-left: 0; border-bottom-left-radius: 4px; border-top-left-radius: 4px; } /* Arrotondamento degli angoli sull'ultimo item */ .pagination > li:last-child > a, .pagination > li:last-child > span { border-top-right-radius: 4px; border-bottom-right-radius: 4px; } /* Colore dell'item sull'hover */ .pagination > li > a:hover, .pagination > li > span:hover, .pagination > li > a:focus, .pagination > li > span:focus { background-color: #eeeeee; } /* Colori e bordo dell'item attivo (corrente) */ .pagination > .active > a, .pagination > .active > span, .pagination > .active > a:hover, .pagination > .active > span:hover, .pagination > .active > a:focus, .pagination > .active > span:focus { z-index: 2; color: #ffffff; cursor: default; background-color: #428bca; border-color: #428bca; } /* Colori e bordo dell'item disabilitato */ .pagination > .disabled > span, .pagination > .disabled > a, .pagination > .disabled > a:hover, .pagination > .disabled > a:focus { color: #999999; cursor: not-allowed; background-color: #ffffff; border-color: #dddddd; }
In aggiunta alla variante standard, possiamo creare una navigazione leggermente più grande aggiungendo alla classe .pagination
la classe .pagination-lg
.
<ul class="pagination pagination-lg"> <li class="disabled"><a href="#">«</a></li> <li><a href="#">1</a></li> <li class="active"><a href="#">2</a></li> <li><a href="#">3</a></li> <li><a href="#">4</a></li> <li><a href="#">5</a></li> <li><a href="#">»</a></li> </ul>
Esiste anche una variante più piccola, designata con la classe .pagination-sm
.
<ul class="pagination pagination-sm"> <li class="disabled"><a href="#">«</a></li> <li><a href="#">1</a></li> <li class="active"><a href="#">2</a></li> <li><a href="#">3</a></li> <li><a href="#">4</a></li> <li><a href="#">5</a></li> <li><a href="#">»</a></li> </ul>
È possibile modificare le impostazioni di default per le varianti large e small partendo da queste regole CSS:
/* Variante large */ .pagination-lg > li > a, .pagination-lg > li > span { padding: 10px 16px; font-size: 18px; } .pagination-lg > li:first-child > a, .pagination-lg > li:first-child > span { border-bottom-left-radius: 6px; border-top-left-radius: 6px; } .pagination-lg > li:last-child > a, .pagination-lg > li:last-child > span { border-top-right-radius: 6px; border-bottom-right-radius: 6px; } /* Variante small */ .pagination-sm > li > a, .pagination-sm > li > span { padding: 5px 10px; font-size: 12px; } .pagination-sm > li:first-child > a, .pagination-sm > li:first-child > span { border-bottom-left-radius: 3px; border-top-left-radius: 3px; } .pagination-sm > li:last-child > a, .pagination-sm > li:last-child > span { border-top-right-radius: 3px; border-bottom-right-radius: 3px; }
Invece che una paginazione numerata, possiamo creare una navgazione con i link 'Precedente' e 'Successivo' ricorrendo al componente Pager.
<ul class="pager"> <li class="disabled"><a href="#">Precedente</a></li> <li><a href="#">Successivo</a></li> </ul>
Si puà modificare l'aspetto del Pager agendo su queste regole:
/* Contenitore */ .pager { padding-left: 0; margin: 20px 0; text-align: center; list-style: none; } /* Colori e bordo dell'item */ .pager li > a, .pager li > span { display: inline-block; padding: 5px 14px; background-color: #ffffff; border: 1px solid #dddddd; border-radius: 15px; } /* Colore di sfondo dell'item sull'hover */ .pager li > a:hover, .pager li > a:focus { text-decoration: none; background-color: #eeeeee; } /* Colori e bordo dell'item disabilitato */ .pager .disabled > a, .pager .disabled > a:hover, .pager .disabled > a:focus, .pager .disabled > span { color: #999999; cursor: not-allowed; background-color: #ffffff; }