4.9.2 翻页

源码文件:pager.less

CSS文件:bootstrap.css 4227行之后

在一些简单的网站上(比如博客、杂志),一般不会展示很多页码,而是使用“上一页”、“下一页”的简单分页方式。默认情况下,Bootstrap提供的这种组件是居中显示的。示例代码如下:

  1. <ul class="pager">
  2. <li><a href="#">上一页</a></li>
  3. <li><a href="#">下一页</a></li>
  4. </ul>

上述示例的运行效果如图4-56所示。

4.9.2 翻页 - 图1 图4-56 翻页效果

翻页效果的实现方式,有如下几个要点:

❑整体居中显示。

❑li元素有圆角。

❑设置鼠标移动上去的效果。

❑支持a元素和span元素。

支持以上几个要点的主要源码如下:

  1. // 源码4227行
  2. .pager {
  3. padding-left: 0;
  4. margin: 20px 0;
  5. text-align: center; /* 居中显示 */
  6. list-style: none; /* li无标记显示 */
  7. }
  8. .pager li {
  9. display: inline; /* 内联显示 */
  10. }
  11. .pager li > a,
  12. .pager li > span {
  13. display: inline-block; /* 内联块,支持a元素和span元素 */
  14. padding: 5px 14px;
  15. background-color: #fff;
  16. border: 1px solid #ddd; /* 边框设置1像素 */
  17. border-radius: 15px; /* 加大圆角弧度 */
  18. }
  19. .pager li > a:hover,
  20. .pager li > a:focus {
  21. text-decoration: none; /* 鼠标触发或焦点时无下划线 */
  22. background-color: #eee;
  23. }

如果需要将两个按钮连接,分别进行左右对齐,则需要在按钮的li容器元素上分别应用previous和next样式,效果如图4-57所示。

4.9.2 翻页 - 图2 图4-57 左右对齐的翻页运行效果

两个样式的实现很简单,就是我们平常所用的左右浮动。源码如下:

  1. // 源码4249行
  2. .pager .next > a,
  3. .pager .next > span {
  4. float: right; /* 下一页,右浮动 */
  5. }
  6. .pager .previous > a,
  7. .pager .previous > span {
  8. float: left; /* 上一页,左浮动 */
  9. }

注意

在li元素上分别应用.pull-left和.pull-right样式也能实现上述效果,因为原理是一样的。

另外,和普通的链接(或其他button元素)一样,应用disabled样式可实现禁用效果,运行效果如图4-58所示。

4.9.2 翻页 - 图3 图4-58 翻页中的禁用效果

和以前一样需要注意,disabled样式只是实现禁用效果,并没有禁用a链接的单击功能。所以如果要禁用单击功能,要么使用JavaScript禁用a的单击行为,要么干脆使用span元素,因为分页组件对a和span两种元素都同样支持。分页组件里的disabled样式源码如下:

  1. // 源码4257行
  2. .pager .disabled > a,
  3. .pager .disabled > a:hover,
  4. .pager .disabled > a:focus,
  5. .pager .disabled > span {
  6. color: #999; /* 被禁用时,改变文本颜色 */
  7. cursor: not-allowed; /* 被禁用时,改回默认的鼠标手形图标 */
  8. background-color: #fff;
  9. }