Ich verstehe das React Material-UI-Rastersystem nicht ganz. Wenn ich eine Formularkomponente für die Anmeldung verwenden möchte, wie kann ich sie auf allen Geräten (Mobilgeräte und Desktops) am einfachsten auf dem Bildschirm zentrieren?
75
Antworten:
Da werden Sie dies in einer Anmeldeseite verwenden. Hier ist ein Code, den ich auf einer Anmeldeseite mit der Material-Benutzeroberfläche verwendet habe
<Grid container spacing={0} direction="column" alignItems="center" justify="center" style={{ minHeight: '100vh' }} > <Grid item xs={3}> <LoginForm /> </Grid> </Grid>
Dadurch wird dieses Anmeldeformular in der Mitte des Bildschirms angezeigt.
Trotzdem unterstützt der IE das Material-UI-Raster nicht und Sie werden einige falsch platzierte Inhalte im IE sehen.
Hoffe das wird dir helfen.
quelle
Eine weitere Option ist:
<Grid container justify = "center"> <Your centered component/> </Grid>
quelle
Die @ Nadun-Version hat bei mir nicht funktioniert, die Größe hat nicht gut funktioniert. Das Entfernen
direction="column"
oder Ändern inrow
hilft beim Erstellen vertikaler Anmeldeformulare mit reaktionsschneller Größe.<Grid container spacing={0} alignItems="center" justify="center" style={{ minHeight: "100vh" }} > <Grid item xs={6}></Grid> </Grid>;
quelle
Hier ist eine weitere Option ohne Raster:
<div style={{ position: 'absolute', left: '50%', top: '50%', transform: 'translate(-50%, -50%)' }} > <YourComponent/> </div>
quelle
Sie können dies mit der Box-Komponente tun:
import Box from "@material-ui/core/Box"; ... <Box display="flex" justifyContent="center" alignItems="center" minHeight="100vh" > <YourComponent/> </Box>
quelle
Alles, was Sie tun müssen, ist, Ihren Inhalt in ein Rastercontainer-Tag einzuschließen, den Abstand anzugeben und dann den tatsächlichen Inhalt in ein Rasterelement-Tag einzuschließen.
<Grid container spacing={24}> <Grid item xs={8}> <leftHeaderContent/> </Grid> <Grid item xs={3}> <rightHeaderContent/> </Grid> </Grid>
Außerdem habe ich viel mit dem Materialraster zu kämpfen. Ich schlage vor, dass Sie die Flexbox auschecken, die automatisch in CSS integriert ist, und dass Sie keine zusätzlichen Pakete benötigen, um sie zu verwenden. Es ist sehr leicht zu lernen.
https://css-tricks.com/snippets/css/a-guide-to-flexbox/
quelle