J'ai installé Material for angular,
J'ai importé sur mon module d'application MatIconModule (avec import { MatIconModule } from '@angular/material/icon';
)
Je l'ai ajouté sous mes importations ngmodule avec:
@NgModule({
imports: [
//...
MatIconModule,
//...
J'ai importé toutes les feuilles de style
Et je l'ai également importé dans mon composant d'application qui (essaie de) les utiliser (avec une autre import {MatIconModule} from '@angular/material/icon';
ligne au début).
Mais les icônes matérielles n'apparaissent toujours pas.
Par exemple, avec cette ligne:
<button mat-icon-button (click)="snav.toggle()"><mat-icon>menu</mat-icon></button>
J'attends quelque chose comme ça:
Mais je comprends ceci:
Vous avez une suggestion?
Réponses:
Ajoutez une feuille de style CSS pour les icônes de matériaux!
Ajoutez ce qui suit à votre index.html:
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
Reportez-vous - https://github.com/angular/material2/issues/7948
la source
@import 'https://fonts.googleapis.com/icon?family=Material+Icons';
@import "~material-icons/iconfont/material-icons.css";
à votre styles.cssPour Angular 6+:
npm install material-design-icons
ajoutez les styles à angular.json:
la source
Si vous utilisez SASS, il vous suffit d'ajouter cette ligne à votre
.scss
fichier principal :Si vous préférez éviter de récupérer des icônes de Google, vous pouvez également héberger les icônes comme décrit dans le Guide des icônes de matériaux :
la source
Vous devez importer MatIconModule et utiliser l'url suivante dans index.html
la source
Dans mon cas, il y avait un style appliqué qui remplace la famille de polices. J'ai donc ajouté un style de famille de polices explicitement comme ceci:
la source
La solution complète peut être:
La première étape
Vous devez importer
MatIconModule
dans votre projet, dans mon projet j'importe le composant nécessaire dans un fichier séparé puis je l'importe dans l'AppModule, vous pouvez l'utiliser ou les importer directement:Deuxième étape
Chargez la police de l'icône dans votre
index.html
:la source
Dans mon cas, le nom de l'icône que j'ai écrit n'était associé à aucune icône.
Vous pouvez vérifier les noms corrects ici: https://material.io/tools/icons/?style=baseline
la source
Dans mon cas, les icônes ne sont pas apparues car j'ai foiré mes polices en utilisant! Important. Retirer cela a fait apparaître les icônes.
la source
J'ai rencontré le problème des icônes qui ne s'affichent pas pour moi. J'avais suivi les étapes fournies par Basavaraj Bhusani mais ne fonctionnait toujours pas.
J'ai trouvé que le problème était que dans mon scss, j'avais le
text-transform: uppercase
qui faisait que l'icône affiche simplement le contenu 'arrow_forward'. J'ai dû modifiertext-transform: none
spécifiquement l'icône sur l'icône, sinon elle ne serait pas rendue.la source
J'ai réalisé que personne n'avait parlé de l'installation de hammerJs au début avant de l'importer dans votre application. Eh bien, pour les personnes qui ont un problème similaire, vous devez d'abord importer hammerJs, vous pouvez utiliser NPM, Yarn ou google CDN pour l'installation. Cette réponse concerne l'installation avec NPM ou Yarn:
NPM
Fil
Après l'installation, importez-le sur le point d'entrée de votre application (par exemple src / main.ts).
Si vous préférez utiliser Google CDN, veuillez visiter le matériel Angular pour plus d'explications https://material.angular.io/guide/getting-started
la source
Nom d'icône incorrect : le nom d'une icône matérielle est incorrect
Par exemple : Material Icon fournit filter_alt pour
mais ça se voit 😟
Correction: nous devons utiliser filter_list_alt pour l'icône de type d'entonnoir comme
la source
Si vous avez écrasé un style de matériau angulaire existant ou tout autre style qui affecte d'une manière ou d'une autre l'icône, cela peut provoquer un problème. Déplacez le code de l'icône en dehors de tout style et testez.
Pour moi, c'était une variante de police: petites majuscules;
Je l'ai donc simplement déplacé vers l'élément enfant. Ci-dessous se trouve une partie de la grille de matériau angulaire.
la source
Ajoutez simplement ce qui suit à votre index.html:
la source
la source