Link alle pagine successive

Questo tutorial è liberamente ispirato ai vari siti web dell’ondata web 2.0 come Digg.com oppure Flickr.com; questi presentano enormi quantità di argomenti e perciò tali contenuti non possono stare tutti all’interno della medesima pagina ed è per questo che vengono suddivisi in più fogli.
Il metodo utilizzato è basato sull’impiego delle ormai dinamicissime liste riuscendo ad avere un risultato semanticamente buono e facilmente controllabile. Ovviamente le scelte stilistiche possono essere infinite e totalmente personalizzabili, ma per capire subito di cosa stiamo parlando si può visualizzare questo esempio.

Come accennato si inizia con l’impiego di una classe specifica che noi chiameremo .page_flickr in omaggio al sito Flickr.com; di questa classe dichiareremo il comportamento sulle liste, sia come testo “neutro” sia come collegamento ipertestuale.

Perciò avremo un codice CSS simile a questo:

.page_flickr {
  padding: 1em;
}
.page_flickr ul {
  margin: 0;
  padding: 0;
  text-align: left;  /*Allineamento*/
  font-size: 1.0em;
}
.page_flickr li {
  list-style-type: none;
  display: inline;
  padding-bottom:1px;
}
.page_flickr a, .page_flickr a:visited {
  padding: 0 5px;
  margin-right: 0.1em;
  border: 1px solid #9aafe5;
  text-decoration: none;
  color: #2e6ab1;
}
.page_flickr a:hover, .page_flickr a:active {
  border: 1px solid #036;
  color: #fff;
  background:#0063dc;
}
.page_flickr li.current {
  padding: 0 5px;
  font-weight: bold;
  color: #ff0084;
}
.page_flickr li.disable {
  padding: 0 5px;
  background: #fff;
  color: #aaa;
}
.page_flickr li.next { font-weight: bold;}
.page_flickr li.next a:hover { border: solid 2px #036;}

/*IE 6 e precedenti*/
* html .page_flickr li.current, * html .page_flickr li.disable {
  margin-right: 5px;
  padding-right: 0;
}

Con il codice XHTML di questo tipo:

<div class="page_flickr">
<ul>
<li class="disable">« previous</li>
<li class="current">1</li>
<li><a href="#">2</a></li>
<li><a href="#">3</a>...</li>
<li><a href="#">10</a></li>
<li><a href="#">11</a></li>
<li class="next"><a href="#">next »</a></li>
</ul>
</div>

Analizziamo il CSS

Si inizia creando una classe specifica .page_flick che conterrà la lista e il comportamento di questa nei confronti dei link e le successive dichiarazioni sugli elementi.
Per prima cosa generiamo una lista orizzontale e a questa applicheremo la grafica che meglio si abbina alle nostre esigenze; le cose risultano estremamente semplici con i comportamenti sui link (a:hover, a:visited, a:active) e ci concentriamo con maggiore cura per quanto riguarda ciò che indica la pagina corrente nella sequenza dei numeri.

La classe .page_flickr li.current e .page_flickr li.disable servono rispettivamente allo scopo di specificare il comportamento per quegli elementi che indicano la pagina attuale e quelle disabilitate perché molto antecedenti o precedenti.

A tal riguardo è necessario un comportamento specifico nei confronti del browser Internet Explorer 6 e precedenti, per chi fosse interessato ho fatto riferimento all’articolo di Position is Everything che spiega come risolvere il problema.
Nel nostro caso bisogna fare fronte a tale situazione utilizzando il selettore universale * abbinato a l’elemento html per controllare il posizionamento e il padding destro.

Technorati Tags: , ,

Articoli che potrebbero interessarti

Creative Commons License

Bookmark and Share

3 Commenti per “Link alle pagine successive”

  1. Davide ha scritto:

    Grazie!! piu o meno ho capito XD

    però come faccio se la mia lista deve contenere 30 pagine? escono dal template….

    non cè un modo per farne visualizzarne tipo dieci sulla pagina?
    es. sono alla pagina 9 e visualizzo la 5,6,7,8,9,10,11,12,13,14

    tipo come succede su google
    spero di essermi spiegato

    ciao & grazie

  2. Il tutorial serve per “personalizzare” le liste alle pagine successive con l’ausilio dei CSS; quello che serve a te è un controllo sul numero di pagine che vuoi visualizzare, quindi è un problema legato alla piattaforma che adoperi. Comunque se adoperi Wordpress ti posso consigliare il plugin WP-PageNavi che magari fa al caso tuo. ;-)

  3. Davide ha scritto:

    Grazie della velocità e precisione nella risposta ^^

    Però purtroppo uso Joomla…..

    in rete ho trovato questo…dovrebbe fare al caso mio XD
    http://www.phpeasycode.com/pagination/

    però lavoro con il database e io invece vorrei inserire da me li i link alle pagine….secondo te si può fare qualcosa??

    Grazie mille ancora & buona giornata

Lascia un commento

Se mi adori e non puoi perderti nessun articolo, allora abbonati al rss Sickbrain Feed; se invece hai commentato e vuoi sapere come continua la discussione, puoi rss abbonarti ai commenti.

Articoli più letti

  • Non ci sono articoli

sickr

  • P1020795
  • P1020784
  • P1020762
  • P1020741
  • P1020729
  • P1020725
  • P1020718
  • P1020716
  • P1020695