Jun
18


2008-06-18 12:18 pm 作者:daawen.openid.35.com

这个教程要说明的是如何为搜索结果或更常见的长列表记录设计分页。经常有人问我这个问题,所以我决定发一个帖子来说明如何用少量的 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",如下面加粗的代码)

<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 代码
非常简单:
Flickr-like pagination: CSS Code
Is very simple:

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;

}

Download this tutorial

推荐(0)
收藏

您必须登录 才能进行评论。

得到OpenID
使用OpenID提供商
35OpenID 35OpenID MyOpenID MyOpenID Flickr Flickr
Google Google Yahoo Yahoo! AOL AOL
Blogger Blogger LiveJournal LiveJournal Verisign Verisign
ClaimID ClaimID Technorati Technorati Vidoop Vidoop
OpenID OpenID 帮助
您还没有登录,请登录后继续操作。
提示:您必需打开Cookie才能使用本系统
请输入您的 OpenID OpenID 登录:
例如:http://yourname.openid.35.com
close