CSS實現分頁效果製作執行個體,教程和代碼如下:
這個教程要說明的是如何為搜尋結果或更長記錄列表設計分頁。因為經常有人問我這個問題,所以我決定發一個文章來說明如何用少量的 HTML 和 CSS 代碼設計出完美的分頁樣式。
這個教程也包含有實現Flickr、Digg式的簡潔分頁樣式的HTML/CSS代碼,隨時可以應用於你的WEB項目中。
Update as March 17, 2008: My friends Simone Saveri solved some issuse with IE6 and IE7.
Download this tutorial (original)
Download this tutorial (Simone Saveri version)
典型的分頁結構
下圖顯示的是一個典型分頁結構
一般你可以看出有四個主要元素:
-前一頁/後一頁 按鈕(不可用)
-當前頁
-標準的頁面選取器
-前一頁/後一頁 按鈕(可用)
你可以使用包含<li>標籤(每個<li>均單獨對應一個分頁元素)的HTML列表 (<ul>) 來設計這樣的結構,並分配一個ID給<ul>列表以便為當前列表應用具體的分頁樣式。看看下面這些教程以作說明。
Flickr式的分頁:HTML 程式碼
想象你要設計的Flickr式分頁樣式就像下面這樣:
HTML代碼很簡單,而且你只需更改<ul>的ID就可以重複應用這個結構於所有分頁樣式中(在這個案例中我增加了“pagination-flickr”,如下面加粗的代碼)
<ul id="pagination-flickr">
<li class="previous-off">«Previous</li>
<li class="active">1</li>
<li><a href="?page=2">2</a></li>
<li><a href="?page=3">3</a></li>
<li><a href="?page=4">4</a></li>
<li><a href="?page=5">5</a></li>
<li><a href="?page=6">6</a></li>
<li><a href="?page=7">7</a></li>
<li class="next"><a href="?page=2">Next »</a></li></ul>
現在,你只需重新定義CSS標籤的屬性(ul, li, a)。
Flickr式分頁: CSS 代碼
非常簡單:
ul{border:0; margin:0; padding:0;}
#pagination-flickr li{
border:0; margin:0; padding:0;
font-size:11px;
list-style:none;}
#pagination-flickr a{
border:solid 1px #DDDDDD;
margin-right:2px;}
#pagination-flickr .previous-off,
#pagination-flickr .next-off {
color:#666666;
display:block;
float:left;
font-weight:bold;
padding:3px 4px;}
#pagination-flickr .next a,
#pagination-flickr .previous a {
font-weight:bold;
border:solid 1px #FFFFFF;}
#pagination-flickr .active{
color:#ff0084;
font-weight:bold;
display:block;
float:left;
padding:4px 6px;}
#pagination-flickr a:link,
#pagination-flickr a:visited {
color:#0063e3;
display:block;
float:left;
padding:3px 6px;
text-decoration:none;}
#pagination-flickr a:hover{
border:solid 1px #666666;}
Digg式的分頁:HTML 程式碼
好了,現在你想設計的Digg式的分頁樣式就像:
把上一個教程中的HTML 結構複製出來並粘貼。你只需更改<ul> 的ID(替換"pagination-digg" 為 "pagination-flickr")
<ul id="pagination-digg">
<li class="previous-off">«Previous</li>
<li class="active">1</li>
<li><a href="?page=2">2</a></li>
<li><a href="?page=3">3</a></li>
<li><a href="?page=4">4</a></li>
<li><a href="?page=5">5</a></li>
<li><a href="?page=6">6</a></li>
<li><a href="?page=7">7</a></li>
<li class="next"><a href="?page=2">Next »</a></li></ul>
Digg式分頁: CSS 代碼
CSS代碼與前面Flickr式分頁的例子非常相似。你只需修改一些屬性,並把#pagination-flikr更改為 #pagination-digg,CSS的分頁元素不需修改:
ul{border:0; margin:0; padding:0;}
#pagination-digg li{
border:0; margin:0; padding:0;
font-size:11px;
list-style:none;
margin-right:2px;}
#pagination-digg a{
border:solid 1px #9aafe5
margin-right:2px;}
#pagination-digg .previous-off,
#pagination-digg .next-off {
border:solid 1px #DEDEDE
color:#888888
display:block;
float:left;
font-weight:bold;
margin-right:2px;
padding:3px 4px;}
#pagination-digg .next a,
#pagination-digg .previous a {
font-weight:bold;
}
#pagination-digg .active{
background:#2e6ab1;
color:#FFFFFF;
font-weight:bold;
display:block;
float:left;
padding:4px 6px;}
#pagination-digg a:link,
#pagination-digg a:visited {
color:#0e509e
display:block;
float:left;
padding:3px 6px;
text-decoration:none;}
#pagination-digg a:hover{
border:solid 1px #0e509e}
簡潔的分頁樣式:HTML 程式碼
如果你喜歡小巧,簡潔的設計,那麼這個例子將告訴你如何設計出如下圖所示簡潔的分頁樣式:
HTML 結構和前面兩個例子一樣。你只需要做的是把<ul> 的ID更改為 "pagination-clean":
<ul id="pagination-clean">
<li class="previous-off">«Previous</li>
<li class="active">1</li>
<li><a href="?page=2">2</a></li>
<li><a href="?page=3">3</a></li>
<li><a href="?page=4">4</a></li>
<li><a href="?page=5">5</a></li>
<li><a href="?page=6">6</a></li>
<li><a href="?page=7">7</a></li>
<li class="next"><a href="?page=2">Next »</a></li></ul>
簡潔的分頁樣式:CSS代碼
這個分頁樣式的CSS代碼如下:
ul{border:0; margin:0; padding:0;}
#pagination-clean li{
border:0; margin:0; padding:0;
font-size:11px;
list-style:none;}
#pagination-clean li, #pagination-clean a{
border:solid 1px #DEDEDE
margin-right:2px;}
#pagination-clean .previous-off,
#pagination-clean .next-off {
color:#888888
display:block;
float:left;
font-weight:bold;
padding:3px 4px;}
#pagination-clean .next a,
#pagination-clean .previous a {
font-weight:bold;
border:solid 1px #FFFFFF;}
#pagination-clean .active{
color:#00000
font-weight:bold;
display:block;
float:left;
padding:4px 6px;}
#pagination-clean a:link,
#pagination-clean a:visited {
color:#0033CC
display:block;
float:left;
padding:3px 6px;
text-decoration:none;}
#pagination-clean a:hover{
text-decoration:none;}