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

Material-UI Pagination 分页组件如何实现按钮居中显示?

不生效原因

textAlign: center仅对行内/行内块元素生效,而Material-UI的Pagination组件根元素默认是块级flex容器,内部的页码、箭头按钮都是flex子项,因此外层的textAlign属性无法控制flex子项的对齐效果。

解决方案

方案1:直接给Pagination组件配置sx属性(推荐,无需额外外层容器)

利用MUI v5自带的sx属性修改根元素的flex对齐规则:

import Pagination from '@mui/material/Pagination';

function App() {
  return (
    <Pagination
      count={10} // 替换为你的总页数配置
      sx={{
        justifyContent: 'center'
      }}
    />
  );
}

方案2:外层容器用flex布局控制

如果你需要保留外层div包裹的结构,给外层div设置flex布局的对齐属性即可:

<div style={{ display: 'flex', justifyContent: 'center' }}>
  <Pagination count={10} />
</div>

方案3:封装复用的居中分页组件

如果项目中多处需要用到居中的分页组件,用styled封装更便于统一维护:

import { styled } from '@mui/material/styles';
import Pagination from '@mui/material/Pagination';

const CenteredPagination = styled(Pagination)({
  justifyContent: 'center'
});

// 调用时直接使用组件即可
<CenteredPagination count={10} />

方案4:全局主题配置统一生效

如果要让项目内所有Pagination组件默认都居中,直接修改MUI全局主题的样式覆盖规则:

import { createTheme, ThemeProvider } from '@mui/material/styles';

const theme = createTheme({
  components: {
    MuiPagination: {
      styleOverrides: {
        root: {
          justifyContent: 'center'
        }
      }
    }
  }
});

// 用ThemeProvider包裹项目根组件
function App() {
  return (
    <ThemeProvider theme={theme}>
      {/* 你的项目其他代码 */}
      <Pagination count={10} />
    </ThemeProvider>
  );
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 06:06:04