You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在React Material Table UI的<TablePagination>组件中居中元素?

解决TablePagination垂直对齐问题的思路

先纠正你CSS里的几个错误:

  • vertical-align没有center这个有效值,正确可用的是middle,而且它只对行内/行内块元素生效,对块级元素不起作用。
  • align-items是flex容器的属性,必须给元素设置display: flex后,这个属性才会生效。

针对你的场景,给几个具体的解决方向:

1. 调整分页器自身的flex布局

因为Material-UI的TablePagination默认是flex布局,直接给.paginator补充flex相关样式,就能让内部元素垂直居中:

.paginator {
  background-color: #99977b;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  /* 如果需要固定高度,可加上height属性,比如height: 50px; */
}

或者直接用组件的sx属性(Material-UI推荐写法):

<TablePagination
  sx={{
    backgroundColor: '#99977b',
    display: 'flex',
    alignItems: 'center',
    justifyContent: 'center',
    width: '100%'
  }}
  rowsPerPageOptions={process.env.REACT_APP_ROWS_PER_PAGE_OPTIONS.split(',').map(Number)}
  rowsPerPage={rowsPerPage}
  page={page}
  count={rows.length}
  component="div"
  onPageChange={handlePageChange}
  onRowsPerPageChange={handleRowsPerPageChange}
/>

2. 给父容器设置布局实现整体居中

如果是想让整个分页器在父容器里垂直居中,给父容器添加flex样式:

/* 假设父容器的类是paginator-wrapper */
.paginator-wrapper {
  display: flex;
  align-items: center;
  min-height: 60px; /* 根据你的需求设置父容器高度 */
}

3. 排查干扰因素

  • 检查父容器是否有额外的padding、line-height属性,这些可能会影响垂直对齐效果,必要时重置这些属性。
  • 如果父容器是固定高度的块级元素,也可以用margin: auto实现分页器的垂直居中,但需要父容器设置position: relative,分页器设置position: absolute; top: 0; bottom: 0; margin: auto 0;(这种方式适合特定布局场景)

内容的提问来源于stack exchange,提问作者Pat

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 22:32:36