移动端分页居中应使用 justify-content-sm-center 类,仅在 ≥576px 断点生效,避免窄屏(如 iphone se)挤占换行;必须加在 ul.pagination 上,确保其 display 为 flex,且父容器无 float、absolute 或 fit-content 干扰。

justify-content-sm-center 是移动端居中的正确写法
直接加 justify-content-center 在小屏上往往“看起来没居中”,不是类没生效,而是它在所有断点下都强制居中,导致 iPhone SE(375px)等窄屏上页码挤成一团、换行错位甚至横向溢出。真正该用的是 justify-content-sm-center——它从 sm 断点(≥576px)开始生效,意味着在典型手机竖屏下保持左对齐(更安全),只在 iPad mini、折叠屏展开态等稍宽设备上才启用居中。
必须加在 <ul class="pagination"></ul> 上,不是外层 <nav></nav> 或 <div>;同时删掉任何共存的 <code>justify-content-center,否则会被覆盖。
- 检查 computed 样式里
.pagination的display是否为flex(Bootstrap 4.1+/5 默认是,v3 不是) - 确认父容器没设
float、position: absolute或width: fit-content,这些会破坏 flex 布局 - 别在
<nav></nav>上加text-center——对 flex 子项完全无效
bootstrap-table 动态分页怎么加居中
bootstrap-table 的分页是 JS 运行时动态插入的 DOM,HTML 里写的 justify-content-sm-center 会被忽略。必须用 JS 注入或 CSS 强制:
- 监听
onPostBody事件后手动加类:$('ul.pagination').addClass('justify-content-sm-center') - 或写 CSS 规则:
.bootstrap-table .pagination { justify-content: center; },但要注意断点控制(建议用@media (min-width: 576px)包裹) - 避免依赖
paginationVAlign: 'center',旧版插件支持不一致,容易失效
移动端点击区域太小,光加居中没用
居中之后发现按钮点不准?根本问题常不在布局,而在触摸热区不足。默认 .page-link 的 padding 在 pagination-sm 下只有约 6×12px,远低于 Android/iOS 推荐的 44×44px 最小尺寸。
- 给
.page-link补min-width: 44px和min-height: 44px - 或增大 padding:
padding: 0.75rem 1rem(注意同步调高line-height防文字悬空) - 检查是否误设了
pointer-events: none或touch-action: none(常见于轮播遮罩、弹窗层) - 禁用状态要同步更新
disabled和aria-disabled,否则读屏软件仍提示可点
响应式组合别混用断点类
想桌面居中、移动端左对齐?不能写 justify-content-center justify-content-md-start——后者会覆盖前者。正确做法是:
-
justify-content-md-center:≥768px(md)才居中,小屏默认左对齐 -
justify-content-sm-center justify-content-md-start:小屏居中、中屏及以上左对齐(反向需求) - v3 不支持这些断点类,必须手写媒体查询或 JS 切换
- 所有断点类都只作用于
<ul class="pagination"></ul>,加错位置等于没加
真正卡住的往往不是“加哪个类”,而是某个隐藏的 display 被覆盖,或者父容器浮动没清掉。打开 DevTools 看 computed 样式,比猜快得多。











