Material-ui Сетка Отзывчивое направление Ширина столбца не работает - PullRequest
0 голосов
/ 07 сентября 2018

Я прочитал список сетки пользовательского интерфейса материала и свойство Flexbox / FlexGrow, которое, как я понимаю, работает правильно, если я не указываю направление. Я пытаюсь настроить сетку с вертикальной ориентацией. Похоже, когда мы присваиваем свойство align-center , ширина не та, что мы указываем. Пример: (стиль)

const styles = () => ({
    root: {
        flexGrow: 1,
    },

    paper: {
        margin: '10px'
    },

    textField: {
        width: '100%',
        marginTop: '10px',
        marginLeft: '10px'
    },

    gridBorder: { 
        borderColor: 'transparent',
        borderWidth: 'thin',
        borderStyle: 'dotted',
        borderRadius: '12px'
    }
});

Метод визуализации:

<div id='registration'>
    <Grid container spacing={4} direction='column' className={classes.root}>
        <Grid item xl={4} lg={4} xs={12}>
            <TextField required label="Email" id='' className={classes.textField}  onChange={this.handleChange}  />
        </Grid>
        <Grid item xl={4} lg={4} xs={12}>
            <TextField required label="Password" id='' className={classes.textField}  onChange={this.handleChange}  />
        </Grid>
    </Grid>
</div>

Это выглядит так: Picture. Это кажется правильным, но как только я установил свойство align-items , это выходит за рамки моего понимания. Поэтому, когда я вставляю следующую строку:

<Grid container spacing={4} direction='column' className={classes.root} alignItems='center'>

Это начинает выглядеть так: middle align Я читал различные темы здесь, и ни одна из них не говорила о направлении. Может кто-нибудь, пожалуйста, помогите мне понять это? Почему ширина уменьшается, как только я устанавливаю ее в центр? Чего мне не хватает?

Обновление : Я могу это исправить с помощью обходного пути. Но я действительно хотел бы иметь возможность выровнять его по центру, не используя этот обходной путь. Я добавил поддельную сетку перед исходной сеткой, чтобы она выглядела как в центре Код:

<Grid container direction='row'>
    <Grid item xs={1} xl={4} lg={4}>
        <Grid container direction='column' className={[classes.root, 'same-row', 'background-test'].join(' ')}>
            <Grid item>Fake Grid</Grid>
        </Grid>
    </Grid>
    <Grid item  xs={1} xl={4} lg={4}>
        <Grid container direction='column' className={[classes.root, 'same-row'].join(' ')}>
            <Grid item>
                <TextField required label="Email" id='' className={classes.textField}  onChange={this.handleChange}  />
            </Grid>
            <Grid item>
                <TextField required label="Password" id='' className={classes.textField}  onChange={this.handleChange}  />
            </Grid>
        </Grid>            
    </Grid>
</Grid>

и результат: fake grid. Но все еще не отвечает на мой вопрос, почему выравнивание по центру уменьшит ширину.

1 Ответ

0 голосов
/ 07 сентября 2018

На официальной странице документации интервал = {4} для сетки отсутствует. Для типа контейнера перечисления идут на 8, так что я думаю, в этом корень вашей проблемы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...