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

时间:2018-03-05 00:04:28

标签: css reactjs material-ui appbar center-align

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

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属性,但还没有接近。谢谢你的帮助!

2 个答案:

答案 0 :(得分:3)

尝试将“居中”添加到Tabs组件,如下所示:

    <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>

答案 1 :(得分:0)

如果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);

相关问题