0
votes

Comment écrire du texte sur une icône matérielle

 L'image est le résultat que je veux je travaille sur un projet dans lequel je dois écrire un numéro sur une icône. J'utilise l'icône Materialui Modecomment et je veux écrire du texte dessus. J'ai essayé les choses suivantes mais n'avez pas travaillé.

<ModeComment color='primary'>
   <span>2</span>
</ModeComment>


0 commentaires

4 Réponses :


0
votes

Vous pouvez utiliser badge code> de matériau ui. LINK

<Badge 
  badgeContent={4} 
  anchorOrigin={{
    vertical: 'center',
    horizontal: 'center',
  }} 
  color="white">
   <ModeComment />
</Badge>


2 commentaires

En fait, je veux écrire juste dessus, pas comme un badge


la propriété centrale n'est pas là à Anchororigin, à gauche, à droite, en haut et en bas?



0
votes

Je ne pense pas que MUI fournit une telle personnalisation. Vous pouvez écrire du texte parallèlement à l'icône et l'aligner sur le dessus en utilisant la position absolue.


0 commentaires

1
votes

 Aperçu


Malheureusement, en passant un Enfants CODE> Aimez que vous ne fonctionnerez pas pour l'icône code> de Matériel-UI CODE> . Il s'attend à ce que enfants code> soit le nom de la police d'icône ligature. p>

Une solution possible consisterait à créer un composant personnalisé de vos besoins - un modecommensiquewithnumber code> Composant peut-être? Ensuite, il aurait des styles prédéfinis pour positionner son icône et ses éléments numériques. P>

Le code ci-dessous vous aiderait à réaliser ce que vous voulez. Vous pouvez modifier ce composant, comme accepter un icône code> ProP à rendre ou peut-être une couleur Color code> de la couleur de l'icône. P>

...
import { makeStyles } from "@material-ui/core/styles";

const useStyles = makeStyles({
  root: {
    position: "relative",
    display: "inline-flex",
    justifyContent: "center",
    alignItems: "center"
  },
  icon: {
    fontSize: "2.5em"
  },
  count: {
    position: "absolute",
    lineHeight: 1,
    color: "#fff",
    top: "0.5em",
    fontSize: "1em"
  }
});

function ModeCommentIconWithNumber({ size = 16, count = 0 }) {
  const classes = useStyles();

  return (
    <div className={classes.root} style={{ fontSize: size }}>
      <ModeCommentIcon color="primary" className={classes.icon} />
      <Typography component="span" className={classes.count}>
        {count}
      </Typography>
    </div>
  );
}


0 commentaires

1
votes

Ciao, il n'ya aucun moyen de mettre du texte dans l'icône (comme un enfant comme vous l'avez fait). Vous pouvez mettre typographie à l'extérieur de l'icône et utiliser des CSS. Quelque chose comme: xxx

ici un exemple de codesandbox.


2 commentaires

merci pour la considération ..mais que le code ne fonctionne pas


@Deepakmmaurya Le code fonctionne. Peut-être que vous n'aimez pas la solution, mais travaille.