使用 ReactJS 在 Material-UI AppBar 中水平居中选项卡

Horizontally centering tabs in Material-UI AppBar with ReactJS

我正在使用 Material-UI 构建 React 应用程序,但无法弄清楚如何将蓝色 AppBar 中的 3 个选项卡居中。目前,它们都是左对齐的,因此:

https://i.imgur.com/MjQIuBl.png(还不能嵌入图片,抱歉)

这是我的代码:

<div>
  {/* Tabs */}
  <AppBar position="static" color="primary" style={{ position: 'fixed' }}>
    <Tabs
      fullWidth={true}
      value={this.state.value}
      onChange={this.handleChange}
      indicatorColor="secondary"
    >
      <Tab label="Passenger" icon={Icons.seatIcon} component={Link} to="/passenger" />
      <Tab label="Driver" icon={Icons.driverIcon} component={Link} to="/driver" />
      <Tab label="Settings" icon={Icons.settingsIcon} component={Link} to="/settings" />
    </Tabs>
  </AppBar>
</div>

我已经尝试了很多来自类似问题的不同 CSS 属性,但还没有接近。感谢您的帮助!

尝试将 "centered" 添加到选项卡组件,如下所示:

    <div>
  {/* Tabs */}
  <AppBar position="static" color="primary" style={{ position: 'fixed' }}>
    <Tabs
      fullWidth={true}
      value={this.state.value}
      onChange={this.handleChange}
      indicatorColor="secondary"
      centered
    >
      <Tab label="Passenger" icon={Icons.seatIcon} component={Link} to="/passenger" />
      <Tab label="Driver" icon={Icons.driverIcon} component={Link} to="/driver" />
      <Tab label="Settings" icon={Icons.settingsIcon} component={Link} to="/settings" />
    </Tabs>
  </AppBar>
</div>

如果 centered 属性 不适合你,你可以试试 CSS API(用 Material-UI 3.7.0)。如果你愿意,这也给了你更多的控制权:

import { Tabs, withStyles } from '@material-ui/core';

export const CenteredTabs = withStyles({
  flexContainer: {
    justifyContent: 'center',
    alignItems: 'center',
  },
})(Tabs);