Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

318
Visualizações
Cómo alinear icono y texto horizontal en MUI

Soy un novato en MUI, ahora mi ícono y texto no están alineados:

no alinear

Mis resultados deseados:

mi código es:

 <div style={{ display: 'inline-flex', VerticalAlign: 'text-bottom', BoxSizing: 'inherit', textAlign: 'center', AlignItems: 'center' }}> <LinkIcon className={classes.linkIcon} /> revolve </div>

Probé cuadrícula y fila, pero no funcionó. ¿Alguien puede ayudarme?

over 4 years ago · Santiago Trujillo
11 Respostas
Responde à pergunta

0

Necesitas usar Grid. Algo así debería funcionar:

 <Grid container direction="row" alignItems="center"> <Grid item> <LinkIcon className={classes.linkIcon} /> </Grid> <Grid item> revolve </Grid> </Grid>
over 4 years ago · Santiago Trujillo Relatório

0

estilos

 const styles = theme => ({ icon: { position: "relative", top: theme.spacing.unit, width: theme.typography.display1.fontSize, height: theme.typography.display1.fontSize } });

JSX

 <Typography variant="display1"> <Icon className={this.props.classes.icon}/>Your&nbsp;Text </Typography>

puede reemplazar display1 con display3 u otra variante tipográfica en los 3 lugares para elegir el tamaño del texto. El &nbsp; asegura que su texto no se rompa entre palabras cuando se ajusta.

Para mí, esto puede hacer que se vea así

ingrese la descripción de la imagen aquí

con display3 y algunos otros estilos agregados para el color.

over 4 years ago · Santiago Trujillo Relatório

0

¡Esto funciona perfectamente!

 <div style={{ display: 'flex', alignItems: 'center', flexWrap: 'wrap', }}> <LinkIcon /> <span>revolve</span> </div>
over 4 years ago · Santiago Trujillo Relatório

0

Pruebe el siguiente código. Puede utilizar la variant según sus necesidades.

 const useStyles = makeStyles(theme => ({ wrapIcon: { verticalAlign: 'middle', display: 'inline-flex' } })); <Typography variant="subtitle1" className={classes.wrapIcon}> <LinkIcon className={classes.linkIcon} /> revolve </Typography>
over 4 years ago · Santiago Trujillo Relatório

0

Tener ListItemIcon y ListItemText envueltos dentro de un ListItem lo mantendrá en una línea y evitará que se rompa:

 import ListItem from '@material-ui/core/ListItem'; import ListItemIcon from '@material-ui/core/ListItemIcon'; import ListItemText from '@material-ui/core/ListItemText'; <ListItem > <ListItemIcon><AccessAlarmIcon color="secondary" /></ListItemIcon> <ListItemText>Updated 1 hour ago</ListItemText> </ListItem>

Imagen de demostración:

Imagen de demostración

over 4 years ago · Santiago Trujillo Relatório

0

También puede usar el componente Flexbox de Material UI.

Por ejemplo:

 // ... import { Box } from '@material-ui/core'; // ... <Box alignItems="center" display="flex"> <Box> <LinkIcon className={classes.linkIcon} /> </Box> <Box> revolve </Box> </Box>

El alignItems: center alineará verticalmente los elementos internos.

Esto agregará un marcado adicional. Sin embargo, si observa la API del componente, hay mucha flexibilidad adicional. Como, por ejemplo, un método para usar margen o relleno que sea coherente con el resto de la implementación de la interfaz de usuario de Material. También es muy fácil alinear los elementos de manera diferente si se presenta el caso de uso.

over 4 years ago · Santiago Trujillo Relatório

0

Mismo problema aquí, esto es lo que hice.

 import LinkIcon from '@material-ui/icons/Link'; import styled from 'styled-components'; ... const Resolve = styled.div` display: flex; vertical-align: middle, `; <Resolve> <LinkIcon style={{ marginRight: '5px' }} /> <p>resolve</p> </Resolve>

Si no está satisfecho con el icono de enlace predeterminado de mUI, siempre puede hacerlo usted mismo:

 {/* this is the same chained icon used in the own material-ui, idk why this ins't avaiable yet */} function CustomLinkIcon(props) { return ( <SvgIcon {...props}> <path d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z" /> </SvgIcon> ); } ... <Resolve> <CustomLinkIcon {/* adjust margin top if needed */} style={{ marginRight: '3px', marginTop: '3px' }} { /> <p>resolve</p> </Resolve>
over 4 years ago · Santiago Trujillo Relatório

0

solución alternativa sencilla

 <Grid container direction="row" alignItems="center"> <SearchIcon /> example </Grid>
over 4 years ago · Santiago Trujillo Relatório

0

Puede importar estos en la parte superior

 import { Grid, Typography } from "@material-ui/core"; import LinkIcon from "@material-ui/icons/Link";

Puedes usar

 <Grid style={{ display: "flex" }}> <LinkIcon /> <Typography>Revolve</Typography> </Grid>

Ejemplo de Sandbox de muestra aquí

over 4 years ago · Santiago Trujillo Relatório

0

la mejor opción es usarlo así:

 import {Box, Typography} from '@material-ui/core' import LinkIcon from '@material-ui/icons/LinkIcon'; ........ <Box display='flex' alignItems='center'> <LinkIcon className={classes.linkIcon} /> <Typography variant='h5'> resolve </Typography> </Box>
over 4 years ago · Santiago Trujillo Relatório

0

Esto se puede lograr fácilmente en MUI v5 usando Stack y configurando alignItems prop al center :

 import Stack from '@mui/material/Stack'; import Typography from '@mui/material/Typography'; import AddCircleIcon from '@mui/icons-material/AddCircle';
 <Stack direction="row" alignItems="center" gap={1}> <AddCircleIcon /> <Typography variant="body1">text</Typography> </Stack>

Demostración de Codesandbox

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda