Мне очень трудно добиться чего-то простого с Grid
Component из MaterialUI. В частности, я хотел бы выровнять один элемент по левому краю, а другой по правому краю в одной строке макета.
Я тщательно искал и не нашел никаких решений, которые работают. Я пробовал много предложений, включая использование justifyContent
и alignContent
в Grid
компоненте и в JSS, а также технику flex: 1
«проталкивания» содержимого.
Соответствующие фрагменты кода
Попытка разместить элемент <Typography>
слева, а <FormGroup>
справа:
<Container>
<Grid container spacing={3}>
<Grid className={classes.rowLayout}>
// Goal is to align this to the LEFT
<Grid item xs={6}>
<Typography variant="h6" gutterBottom>Some Text</Typography>
</Grid>
// Goal is to align this to the RIGHT
<Grid item xs={3}>
<FormGroup>
// Simple `Switch` button goes here
</FormGroup>
</Grid>
</Grid>
</Grid>
</Container>
Стиль UI JSS:
const useStyles = makeStyles(theme => ({
root: {
flexGrow: 1,
width: '100%'
},
rowLayout: {
display: 'flex',
alignItems: 'baseline'
},
}));
Я также обнаружил, что, вообще говоря, это требует использования множества Grid
компонентов, и я бы хотел написать более чистый код, если это возможно.
У вас есть какие-нибудь советы или способы решения этой проблемы?
Бесконечно благодарен,
Дэвис