Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

319
Vistas
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 Respuestas
Responde la pregunta

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 Denunciar

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 Denunciar

0

¡Esto funciona perfectamente!

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

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 Denunciar

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 Denunciar

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 Denunciar

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 Denunciar

0

solución alternativa sencilla

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

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 Denunciar

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 Denunciar

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 Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda