我在努力理解material -UI@next网格布局系统.

我的目标是让两张纸在整个宽度的屏幕上展开,当屏幕变小到只有一张纸时,它们就会断开.documentation具有以下代码段:

  <Container>
    <Grid container spacing={24}>
      <Grid item xs={12}>
        <Paper>xs=12</Paper>
      </Grid>
      <Grid item xs={12} sm={6}>
        <Paper>xs=12 sm=6</Paper>
      </Grid>
      <Grid item xs={12} sm={6}>
        <Paper>xs=12 sm=6</Paper>
      </Grid>
      <Grid item xs={6} sm={3}>
        <Paper>xs=6 sm=3</Paper>
      </Grid>
      <Grid item xs={6} sm={3}>
        <Paper>xs=6 sm=3</Paper>
      </Grid>
      <Grid item xs={6} sm={3}>
        <Paper>xs=6 sm=3</Paper>
      </Grid>
      <Grid item xs={6} sm={3}>
        <Paper>xs=6 sm=3</Paper>
      </Grid>
    </Grid>
  </Container>

结果如下:

然后我修改了代码,试图实现我只写两篇论文的目标,如下所示:

  <Container>
    <Grid container spacing={24}>
      <Grid item xs={12} sm={6}>
        <Paper>xs=12 sm=6</Paper>
      </Grid>
      <Grid item xs={12} sm={6}>
        <Paper>xs=12 sm=6</Paper>
      </Grid>
    </Grid>
  </Container>

但正如你所看到的,这导致了两篇论文,它们并没有占据整个屏幕:

有人能给我指出一个工作示例片段,它允许我有两个全宽度的元素吗?

推荐答案

我怀疑容器组件导致了您的问题.由于您还没有链接到它的实现,请参阅下面的一个工作示例,了解您想要什么.

因为material 使用flexbox,所以他们使用属性flexGrow

flex grow CSS属性指定flex项的flex增长因子.它指定了项目在flex容器中应该占用的空间量.flex项的flex增长因子与flex容器中其他子项的大小有关.

这是控制网格中元素增长的属性.

import React from 'react';
import PropTypes from 'prop-types';
import { withStyles } from 'material-ui/styles';
import Paper from 'material-ui/Paper';
import Grid from 'material-ui/Grid';

const styles = theme => ({
  root: {
    flexGrow: 1,
  },
  paper: {
    padding: theme.spacing.unit * 2,
    textAlign: 'center',
    color: theme.palette.text.secondary,
  },
});

function CenteredGrid(props) {
  const { classes } = props;

  return (
    <div className={classes.root}>
        <Grid container spacing={24}>
          <Grid item xs={12} sm={6}>
            <Paper>xs=12 sm=6</Paper>
          </Grid>
          <Grid item xs={12} sm={6}>
            <Paper>xs=12 sm=6</Paper>
          </Grid>
        </Grid>
    </div>
  );
}

CenteredGrid.propTypes = {
  classes: PropTypes.object.isRequired,
};

export default withStyles(styles)(CenteredGrid);

Reactjs相关问答推荐

我想将状态设置为true,直到每一张卡片都生成并在多姆中呈现

根据另一个Select中的选定值更改Select中的值

如何在物料界面react 的多选菜单中设置最大 Select 数限制

shadcn输入+窗体+Zod;一个部件正在改变要被控制的不受控制的输入;

在react上隐藏源映射

有没有办法在 React Router v6 中的路由匹配上运行一些逻辑/功能?

MERN,将动态列表中的元素插入数组

设置自定义形状的纹理

在一个事件处理程序中进行多次调度是个好主意吗?

如何在 React 中停止嵌套 Link 和 Button 组件的事件传播?

从ReactDataGridtry 将数据传递给父组件

如何初始化 redux 全局存储 preloadedState

添加新行时自动打开可扩展表格(Antd 表格,ReactJS)

Select 建议后如何关闭 vscode 添加自动完成={}

如何解决在 react.js 中找不到模块错误

如何使用react 路由将 url 参数限制为一组特定的值?

加密 Django Rest Framework API 响应 + 解密响应应用程序中的响应

如何使用 babel 将 SVG 转换为 React 组件?

React - useParams() 不会失败 null / undefined 判断

如何在 React x 中返回组件?