【问题标题】:Horizontally centering tabs in Material-UI AppBar with ReactJS使用 ReactJS 在 Material-UI AppBar 中水平居中选项卡
【发布时间】:2018-08-12 14:21:40
【问题描述】:

我正在使用 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 属性,但还没有接近。感谢您的帮助!

【问题讨论】:

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


    【解决方案1】:

    尝试在 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>
    

    【讨论】:

    • 做到了!那么centeredalign-content: center 之类的有什么区别?
    • @ZachBrown align-content 用于控制 flexbox。 centeredTabs 组件的一个道具,它应用 Material UI 中定义的某些样式来使选项卡居中
    • 如果fullWidth={true} 不起作用,请尝试variant="fullWidth";这是为了我的情况
    【解决方案2】:

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

    【讨论】:

    • 这个 sn-p 已经过时了。 Material-UI 现在在 4.8 版中可用,自 2018 年 12 月以来发生了很多变化
    猜你喜欢
    • 2020-01-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-23
    • 2019-04-16
    • 1970-01-01
    • 2016-06-29
    • 1970-01-01
    相关资源
    最近更新 更多