Как выровнять по горизонтали метку текстового поля в React Material-UI в центре?

#css #reactjs #material-ui

Вопрос:

Я хотел бы выровнять по горизонтали метку в центре этого текстового поля:

 import React from "react";
import { withStyles } from "@material-ui/core/styles";
import TextField from "@material-ui/core/TextField";       
        
        export default function BasicTextField() {
          return (
              <TextField
                id="standard-basic"
                label="Standard"/>
          );
        }
 

До сих пор мне удавалось выровнять метку справа:

 import React from "react";
import { withStyles } from "@material-ui/core/styles";
import TextField from "@material-ui/core/TextField";       

const StyledTextField = withStyles({
          root: {
            "amp; label": {
              transformOrigin: "top right",
                right: "0",
                left: "auto" 
            }
          }
        })(TextField);
        
        export default function BasicTextField() {
          return (
              <StyledTextField
                id="standard-basic"
                label="Standard"/>
          );
        }
 

Есть ли способ выровнять метку по горизонтали в центре?

Ответ №1:

Попробуйте это

 root: {
        "amp; label": {
          width: "100%",
          textAlign: "center",
          transformOrigin: "center",
            "amp;.Mui-focused": {
              transformOrigin: "center"
            }
         }
      }
 

Комментарии:

1. @innoxius только что отредактировал ответ, я думаю, с правильным вариантом

2. Большое спасибо! Это действует как заклинание.

Ответ №2:

Вы можете использовать компонент коробки для центрирования вашей этикетки следующим образом:

 <Box display="flex" justifyContent="center">
    <StyledTextField id="standard-basic" label="Standard"/>
</Box>
 

Или компонент сетки:

 <Grid container
  direction="row"
  justify="center"
  alignItems="center"
>
  <StyledTextField id="standard-basic" label="Standard"/>
</Grid>
 

Комментарии:

1. Спасибо! Это работает не так, как ожидалось. Поле центрировано, но не метка.