一、首尾省略号
当分页数量特别多的时候,为了能让页面更为简洁明了,我们可以使用首尾省略号来缩略显示分页数量,而不用在页面上一一列出每个页码。这种方式需要借助CSS的overflow:hidden属性来实现。在分页容器的宽度已经确定的情况下,增加一定的宽度,将多余的页码隐藏。同时,为了使最左侧和最右侧的页码不被隐藏,也需要将其设置为一直显示。
.page { width: 500px; /* 分页容器宽度 */ overflow: hidden; } .page ul { margin: 0; padding: 0; list-style: none; } .page li { float: left; margin-right: 5px; } .page li:first-child { margin-right: 10px; /* 最左侧页码增加宽度,使其一直显示 */ } .page li:last-child { margin-right: 10px; /* 最右侧页码增加宽度,使其一直显示 */ } .page li.ellipsis { width: auto; /* 首尾省略号 */ margin: 0 5px; padding: 0 5px; }
二、滚动分页
当分页数量更多的时候,可以考虑使用滚动的方式来呈现分页,用户通过滑动来选择不同的分页。这种方式可以借助CSS的overflow-y属性来实现。我们需要先将分页信息全部显示出来,然后设置分页容器的固定高度,通过overflow-y:hidden将超出部分隐藏,再通过JS或鼠标控制滚动条的滚动,从而进行不同分页的选择。
.page { height: 300px; /* 分页容器高度 */ overflow-y: hidden; } .page ul { margin: 0; padding: 0; list-style: none; height: 100%; } .page li { margin: 10px; } .page li.active { background-color: #ccc; /* 激活的分页背景色 */ }
三、分页大小设置
当数据量特别大,或用户需要自定义每页显示的数据量时,我们可以提供分页大小设置的功能。这种方式可以使用select标签来实现,用户可以通过下拉选择框来设置每页显示的数据量,然后触发重新加载分页数据的操作。
.page-size { margin: 10px; } .page-size select { margin: 0 5px; }
四、分页样式自定义
在一些特殊的场景下,我们需要根据具体的需求来对分页进行样式的自定义。这种方式可以借助CSS的伪类以及灵活运用class来实现。在这里以修改分页页码颜色为例:
.page li { display: inline-block; margin-right: 5px; padding: 0 5px; border-radius: 5px; } .page li.active { background-color: #ccc; } .page li a { color: #333; } .page li:hover a{ color: #fff; background-color: #333; }