我正在与Material-UI一起玩。是否有创建网格布局的任何选项(例如在Bootstrap中)?
如果不是,添加此功能的方式是什么?
有一个GridList组件,但我想它有一些不同的用途。
这是带有material-ui的网格系统的示例,类似于bootstrap:
<Grid container>
<Grid item xs={12} sm={4} md={4} lg={4}>
</Grid>
<Grid item xs={12} sm={4} md={4} lg={4}>
</Grid>
</Grid>
我很难找到一个可以实现Material Design响应行为标准的UI框架,因此我创建了两个用于实现Material Design网格系统的软件包:
这些软件包遵循Google概述的响应式UI标准。支持标准中指定的所有视口大小,并考虑适当的装订线,建议的列数,甚至超过1600 dp的布局行为。它的行为应符合“ 设备指标”指南中建议的每个设备。
下面是纯MUI Grid系统制作的,
使用下面的代码,
// MuiGrid.js
import React from "react";
import { makeStyles } from "@material-ui/core/styles";
import Paper from "@material-ui/core/Paper";
import Grid from "@material-ui/core/Grid";
const useStyles = makeStyles(theme => ({
root: {
flexGrow: 1
},
paper: {
padding: theme.spacing(2),
textAlign: "center",
color: theme.palette.text.secondary,
backgroundColor: "#b5b5b5",
margin: "10px"
}
}));
export default function FullWidthGrid() {
const classes = useStyles();
return (
<div className={classes.root}>
<Grid container spacing={0}>
<Grid item xs={12}>
<Paper className={classes.paper}>xs=12</Paper>
</Grid>
<Grid item xs={12} sm={6}>
<Paper className={classes.paper}>xs=12 sm=6</Paper>
</Grid>
<Grid item xs={12} sm={6}>
<Paper className={classes.paper}>xs=12 sm=6</Paper>
</Grid>
<Grid item xs={6} sm={3}>
<Paper className={classes.paper}>xs=6 sm=3</Paper>
</Grid>
<Grid item xs={6} sm={3}>
<Paper className={classes.paper}>xs=6 sm=3</Paper>
</Grid>
<Grid item xs={6} sm={3}>
<Paper className={classes.paper}>xs=6 sm=3</Paper>
</Grid>
<Grid item xs={6} sm={3}>
<Paper className={classes.paper}>xs=6 sm=3</Paper>
</Grid>
</Grid>
</div>
);
}
↓CodeSandbox↓
我的方法是转到http://getbootstrap.com/customize/,然后仅选中“网格系统”进行下载。下载文件中有bootstrap-theme.css
和bootstrap.css
,我只需要后者。
这样,我可以将Bootstrap的网格系统与Material UI的其他所有功能一起使用。
我只对所有组件使用https://react-bootstrap.github.io/进行响应式布局和Material-ui
根据材料设计规格的描述:
网格列表是标准列表视图的替代方法。网格列表不同于用于布局和其他视觉表示的网格。
如果您正在寻找一个轻量级的Grid组件库,那么我正在使用React-Flexbox-Grid,这是flexboxgrid.css
React中的实现。
最重要的是,React-Flexbox-Grid在material-ui和react-toolbox(替代材料设计实现)中都表现出色。
这是一个古老的问题,但谷歌把我带到这里。稍作搜索后,我发现了一个很好的软件包:https : //www.npmjs.com/package/react-grid-system
我认为这是最好的,易于使用且轻巧的产品。