答案:使用HTML和CSS可构建语义清晰的分页器,通过nav包裹ul列表实现导航结构,当前页用active类标识,上/下一页用rel属性优化SEO,结合服务端逻辑动态生成页码链接。

构建一个分页器组件不需要复杂的 JavaScript,仅用 HTML 和一点 CSS 就能实现基本的页码导航。关键在于结构清晰、语义明确,便于后续样式控制和交互扩展。
页码导航的基本 HTML 结构
使用无序列表 来组织页码是最常见的做法,它语义清晰,易于样式化。
说明:
- nav 元素增强可访问性,标明这是导航区域
- ul + li 组织页码项,符合列表语义
- 当前页使用 class="active" 标记,并用 span 替代链接避免跳转
- 上/下一页添加 rel="prev/next" 有利于 SEO
支持动态生成的函数式结构(伪代码逻辑)
虽然纯 HTML 无法执行函数,但你可以用服务端语言(如 PHP、Python、JS 模板)模拟“函数”来生成分页 HTML。以下是结构化输出逻辑。
立即学习“前端免费学习笔记(深入)”;
模拟函数逻辑(以 JS 模板为例):
function renderPagination(currentPage, totalPages) {
let html = '
- ';
- 上一页 `;
- 上一页 ';
- ${i} `;
- ${i} `;
- 下一页 `;
- 下一页 ';
// 上一页
if (currentPage > 1) {
html += `
} else {
html += '
}
// 页码
for (let i = 1; i if (i === currentPage) {
html += `
} else {
html += `
}
}
// 下一页
if (currentPage html += `
} else {
html += '
}
html += '
return html;
}
调用:renderPagination(2, 5) 会生成第 2 页、共 5 页的导航 HTML。
优化与可访问性建议
为了让分页器更友好,注意以下细节:
- 为 nav 添加 aria-label,帮助屏幕阅读器识别
- 当前页使用 span 而非不可点击的 a,避免焦点混乱
- 禁用状态用 class="disabled" 控制,CSS 设置灰色和无光标
- 移动端考虑添加省略号(如超过 5 页时显示 …)提升简洁性
- 确保所有链接有明确的 href,利于搜索引擎抓取
基本上就这些。HTML 分页本质是结构化的导航输出,通过语义标签和动态模板函数可以高效复用。不复杂但容易忽略细节。










