这个教程要说明的是如何为搜索结果或更常见的长列表记录设计分页。经常有人问我这个问题,所以我决定发一个帖子来说明如何用少量的 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>元素(每个均单独对应一个分页元素)的HTML列表 (<ul>) 来设计这样的结构,并分配一个ID给<ul>列表以便为当前列表应用具体的分页样式。看看下面教程以作说明。
Flickr式的分页:HTML 代码
想象你要设计的Flickr式分页样式就像这样:

HTML代码很简单,而且你只需更改<ul>的ID就可以重复应用这个结构于所有分页样式中(在这个案例中我增加了"pagination-flickr",如下面加粗的代码)
<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 代码
非常简单:
Flickr-like pagination: CSS Code
Is very simple:
#pagination-flickr li{
font-size:11px;
list-style:none;
#pagination-flickr a{
margin-right:2px;
#pagination-flickr .previous-off,
#pagination-flickr .next-off {
display:block;
float:left;
font-weight:bold;
padding:3px 4px;
#pagination-flickr .next a,
#pagination-flickr .previous a {
border:solid 1px #FFFFFF;
#pagination-flickr .active{
font-weight:bold;
display:block;
float:left;
padding:4px 6px;
#pagination-flickr a:link,
#pagination-flickr a:visited {
display:block;
float:left;
padding:3px 6px;
text-decoration:none;
#pagination-flickr a:hover{
好了,现在你想设计一个Digg式的分页样式就像:

从上一个教程中把HTML 结构复制出来并粘贴。你只需更改<ul> 的ID(替换"pagination-digg" 为 "pagination-flickr")
<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的分页元素不要修改:
#pagination-digg li{
font-size:11px;
list-style:none;
margin-right:2px;
}
#pagination-digg a{
margin-right:2px;
}
#pagination-digg .previous-off,
#pagination-digg .next-off {
color:#888888
display:block;
float:left;
font-weight:bold;
margin-right:2px;
padding:3px 4px;
}
#pagination-digg .next a,
#pagination-digg .previous a {
}
#pagination-digg .active{
color:#FFFFFF;
font-weight:bold;
display:block;
float:left;
padding:4px 6px;
}
#pagination-digg a:link,
#pagination-digg a:visited {
display:block;
float:left;
padding:3px 6px;
text-decoration:none;
}
#pagination-digg a:hover{
}
简洁的分页样式:HTML 代码
如果你喜欢小巧,简洁的设计,这个例子将展示出如何设计出如下图所示的简洁的分页样式:

HTML 结构和前面两个例子一样。你只需要做的是把<ul> 的ID更改为 "pagination-clean":
<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>
#pagination-clean li{
font-size:11px;
list-style:none;
}
#pagination-clean li, #pagination-clean a{
margin-right:2px;
}
#pagination-clean .previous-off,
#pagination-clean .next-off {
display:block;
float:left;
font-weight:bold;
padding:3px 4px;
}
#pagination-clean .next a,
#pagination-clean .previous a {
border:solid 1px #FFFFFF;
}
#pagination-clean .active{
font-weight:bold;
display:block;
float:left;
padding:4px 6px;
}
#pagination-clean a:link,
#pagination-clean a:visited {
display:block;
float:left;
padding:3px 6px;
text-decoration:none;
}
#pagination-clean a:hover{
}
您必须登录 才能进行评论。
您还没有登录,请登录后继续操作。