Как центрировать компонент в Material-UI и сделать его отзывчивым?
Я не совсем понимаю систему React Material-UI grid. Если я хочу использовать компонент формы для входа в систему, то какой самый простой способ сосредоточить его на экране на всех устройствах (мобильных и настольных)?
Ответы
Ответ 1
Поскольку вы собираетесь использовать это на странице входа в систему. Вот код, который я использовал на странице входа, используя Material-UI
<Grid
container
spacing={0}
direction="column"
alignItems="center"
justify="center"
style={{ minHeight: '100vh' }}
>
<Grid item xs={3}>
<LoginForm />
</Grid>
</Grid>
это сделает эту регистрационную форму в центре экрана.
Но IE все же не поддерживает сетку Material-UI, и вы увидите некоторое неуместное содержимое в IE.
Надеюсь, что это поможет вам.
Ответ 2
Другой вариант:
<Grid container justify = "center">
<Your centered component/>
</Grid>
Ответ 3
Версия @Nadun не работает для меня, размер не работает хорошо. Удалил direction="column"
или изменил его на row
, помогает при построении вертикальных форм входа в систему с адаптивным размером.
<Grid
container
spacing={0}
alignItems="center"
justify="center"
style={{ minHeight: '100vh' }}
>
<Grid item xs={6}>
</Grid>
</Grid>
Ответ 4
Вот еще один вариант без сетки:
<div
style={{
position: 'absolute',
left: '50%',
top: '50%',
transform: 'translate(-50%, -50%)'
}}
>
<YourComponent/>
</div>
Ответ 5
Все, что вам нужно сделать, это обернуть содержимое в тег Grid Container, указать интервал, а затем обернуть фактическое содержимое внутри тега элемента Grid.
<Grid container spacing={24}>
<Grid item xs={8}>
<leftHeaderContent/>
</Grid>
<Grid item xs={3}>
<rightHeaderContent/>
</Grid>
</Grid>
Кроме того, я много боролся с материальной сетью, я предлагаю вам checkbox flexbox, который встроен в CSS автоматически, и вам не нужны какие-либо дополнительные пакеты для использования. Его очень легко узнать.
https://css-tricks.com/snippets/css/a-guide-to-flexbox/
Ответ 6
как заставить реагировать компоненты по центру при различном разрешении экрана