Come ospitare le icone dei materiali offline?


106

Mi scuso se questa è una domanda molto semplice, ma come usi le icone dei materiali di Google senza un file

<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet"> 

?

Vorrei che la mia app fosse in grado di visualizzare le icone anche quando l'utente non dispone di una connessione Internet


Questo articolo spiega per Angular, il pensiero potrebbe essere utile per qualcuno, thecodeframework.com/…
Gagan

Risposte:


112

Metodo 2. Guida per sviluppatori self-hosting

Scarica l'ultima versione da github (assets: file zip), decomprimi e copia la cartella iconfont, contenente i file delle icone di material design, nel tuo progetto locale - https://github.com/google/material-design-icons/ rilasci

È sufficiente utilizzare la cartella iconfont dall'archivio: contiene i font delle icone nei diversi formati (per il supporto di più browser) e il boilerplate css.

  • Sostituisci la sorgente nell'attributo url di @ font-face, con il percorso relativo alla cartella iconfont nel tuo progetto locale, (dove si trovano i file dei font) es. url ("iconfont / MaterialIcons-Regular.ttf")
@font-face {
   font-family: 'Material Icons';
   font-style: normal;
   font-weight: 400;
   src: url(iconfont/MaterialIcons-Regular.eot); /* For IE6-8 */
   src: local('Material Icons'),
        local('MaterialIcons-Regular'),
        url(iconfont/MaterialIcons-Regular.woff2) format('woff2'),
        url(iconfont/MaterialIcons-Regular.woff) format('woff'),
        url(iconfont/MaterialIcons-Regular.ttf) format('truetype');
}

.material-icons {
  font-family: 'Material Icons';
  font-weight: normal;
  font-style: normal;
  font-size: 24px;  /* Preferred icon size */
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;

  /* Support for all WebKit browsers. */
  -webkit-font-smoothing: antialiased;
  /* Support for Safari and Chrome. */
  text-rendering: optimizeLegibility;

  /* Support for Firefox. */
  -moz-osx-font-smoothing: grayscale;

  /* Support for IE. */
  font-feature-settings: 'liga';
}

<i class="material-icons">face</i>

Pacchetti NPM / Bower

Google ha ufficialmente un'opzione di dipendenza Bower e NPM: segui la Guida alle icone dei materiali 1

Utilizzando bower :bower install material-design-icons --save

Utilizzando NPM :npm install material-design-icons --save

Icone dei materiali : in alternativa, esamina il carattere dell'icona del design dei materiali e il framework CSS per l'hosting autonomo delle icone, da https://marella.me/material-icons/ di @ marella


Nota

Sembra che Google abbia il progetto in modalità di manutenzione ridotta. L'ultima versione è stata, al momento della scrittura, 3 anni fa!

Ci sono diversi problemi su GitHub riguardo a questo, ma vorrei fare riferimento al commento di @cyberalien sul problema in Is this project actively maintained? #951cui si riferisce a diversi progetti della comunità che hanno biforcato e continuano a mantenere le icone dei materiali.



Come faresti questo per un'app GAP per telefono in cui non avresti un dominio?
Luke Tan

scegli come target la tua cartella locale nell'URL di origine di @ font-face: url ("iconfont / MaterialIcons-Regular.woff2" - risposta aggiornata
bfmags

Ehi, puoi per favore fare una risposta aggiornata a questo. Ho scaricato le mie icone mdl con npm.
TheBAST

1
Risolto il mio problema ... Volevo solo far notare che abbiamo bisogno solo della iconfontcartella dell'intero archivio.
Curva di sicurezza

per questo tipo di "spostare la risorsa cdn da servire localmente" di solito sarebbe utile avere oltre 3000 richieste di dati sui tempi di risposta medi PRIMA e DOPO la modifica - rimarrai sorpreso di quanto spesso non ne valga la pena, indipendentemente da il tuo sforzo per raggiungerlo ...
Yordan Georgiev

37

Sto costruendo per Angular 4/5 e spesso lavoro offline, quindi quanto segue ha funzionato per me. Prima installa NPM:

npm install material-design-icons --save

Quindi aggiungi quanto segue a styles.css:

@import '~material-design-icons/iconfont/material-icons.css';

10
quando chiama "npm install" aspetta aspetta aspetta lol ... ma funziona dopo molto tempo
Sergio Cabral

2
@SergioCabral Per fortuna hai fatto il commento sull'attesa, perché ci sono state circa 5 volte in cui ho pensato che questa installazione non andasse da nessuna parte ... :)
Alfa Bravo

1
Grazie mi è piaciuto Questa è la soluzione migliore Grazie <3
Ali Jamal

Lavora anche per me ... :)
Aupr

3
qualche idea su come aggiungere icone delineate?
wutzebaer

20

Gli approcci superiori non funzionano per me. Ho scaricato i file da GitHub, ma il browser non ha caricato i caratteri.

Quello che ho fatto è stato aprire il collegamento alla fonte dell'icona del materiale:

https://fonts.googleapis.com/icon?family=Material+Icons

e ho visto questo markup:

    /* fallback */
@font-face {
  font-family: 'Material Icons';
  font-style: normal;
  font-weight: 400;
  src: local('Material Icons'), local('MaterialIcons-Regular'), url(https://fonts.gstatic.com/s/materialicons/v22/2fcrYFNaTjcS6g4U3t-Y5ZjZjT5FdEJ140U2DJYC3mY.woff2) format('woff2');
}

.material-icons {
  font-family: 'Material Icons';
  font-weight: normal;
  font-style: normal;
  font-size: 24px;
  line-height: 1;
  letter-spacing: normal;
  text-transform: none;
  display: inline-block;
  white-space: nowrap;
  word-wrap: normal;
  direction: ltr;
  -moz-font-feature-settings: 'liga';
  -moz-osx-font-smoothing: grayscale;
}

Apro il link dell'URL del font woff https://fonts.gstatic.com/s/materialicons/v22/2fcrYFNaTjcS6g4U3t-Y5ZjZjT5FdEJ140U2DJYC3mY.woff2

e scarica il file woff2.

Quindi sostituisco il percorso del file woff2 con quello nuovo in material-icons.css

@font-face {
  font-family: 'Material Icons';
  font-style: normal;
  font-weight: 400;
  src: url(iconfont/MaterialIcons-Regular.eot); /* For IE6-8 */
  src: local('Material Icons'),
       local('MaterialIcons-Regular'),
       /* Old file: url(iconfont/MaterialIcons-Regular.woff2) format('woff2'), */
       /* load new file */ 
       url(2fcrYFNaTjcS6g4U3t-Y5ZjZjT5FdEJ140U2DJYC3mY.woff2) format('woff2'),
       url(iconfont/MaterialIcons-Regular.ttf) format('truetype');
}

Questo fa funzionare le cose per me.


Grazie! Ho avuto lo stesso problema e questo lo ha risolto per me.
David

Risolvo il mio problema con questo approccio, ma in seguito ho trovato un altro repository git, da cui ottengo la versione corretta.
Kaloyan Stamatov

@ Kaloyan Stamatov sarebbe bello condividere quel repo git .. poiché molte persone hanno problemi con repo ufficiali obsoleti :)
Grashopper

@Grashopper, non ce l'ho più. Scusa
Kaloyan Stamatov

1
più aggiornato nel 2019, questa soluzione ha funzionato anche per me.
compt

17

Se usi il progetto webpack, dopo

npm install material-design-icons --save

hai solo bisogno di

import materialIcons from 'material-design-icons/iconfont/material-icons.css'

7
Non consiglio di farlo, questo repository è troppo grande, usa uno desc. sotto npmjs.com/package/material-design-icons-iconfont Ho anche notato che il browser memorizzerà nella cache fonts.googleapis.com/icon?family=Material+Icons e funzionerà in modalità offline. Checkout keemor.github.io/#
keemor

Sono un principiante in npm, puoi approfondire import materialIcons from 'material-design-icons/iconfont/material-icons.css'. Aggiungiamo questa linea a dove? app.js o da qualche altra parte. Sto usando framework7 con Vue e ho provato. Non ha funzionato per me.
Suat Atan PhD

@SuatAtanPhD aggiungi questa importazione come qualsiasi altra importazione di stile. Se usi webpack hai bisogno di qualcosa come style-loader, css-loader e puoi inserire questa importazione ovunque nel tuo codice js, ad esempio in index.js o app.js ecc.
Vladislav Kosovskikh

1
Tale approccio è consigliato per la creazione di un'applicazione web aziendale che possa funzionare nella rete interna senza accesso a Internet
Yurii Bratchuk,

13

Questa potrebbe essere una soluzione semplice


Ottieni questo repository che è un fork del repository originale pubblicato da Google.

Installalo con bower o npm

bower install material-design-icons-iconfont --save

npm install material-design-icons-iconfont --save

Importa il file css nella tua pagina HTML

<style>
  @import url('node_modules/material-design-icons-iconfont/dist/material-design-icons.css');
</style>

o

<link rel="stylesheet" href="node_modules/material-design-icons-iconfont/dist/material-design-icons.css">

Test: aggiungi un'icona all'interno del tag del corpo del tuo file HTML

<i class="material-icons">face</i>

Se vedi l'icona della faccia, sei a posto.

Se non funziona, prova ad aggiungerlo ..come prefisso al node_modulespercorso:

<link rel="stylesheet" href="../node_modules/material-design-icons-iconfont/dist/material-design-icons.css">

L'impiego del pacchetto material-design-icons-iconfont funziona anche con il mat-iconcomponente standard di Angular . Quindi la transizione è senza soluzione di continuità.
Yuri

Questa è la soluzione che ha funzionato per me, tranne per il fatto che il collegamento al foglio di stile in index.html non ha funzionato: ho dovuto aggiungere un'importazione nel mio file Styles.scss: @import"../node_modules/material-design-icons-iconfont/dist/material-design-icons.css"; poi le mie icone ospitate localmente hanno preso vita
Ade

7

La mia ricetta ha tre passaggi:

  1. per installare il pacchetto material-design-icons

    npm install material-design-icons
  2. per importare il file material-icons.css in un file / progetto .less o .scss

    @import "~/node_modules/material-design-icons/iconfont/material-icons.css";
  3. per includere il codice consigliato nel file / progetto reactjs .js

    <i className='material-icons' style={{fontSize: '36px'}}>close</i>

questo pacchetto non esiste più
yehonatan yehezkel

con angular cli, esegui npm installa material-design-icons e poi aggiungi css in angular.json -> architect-> build-> styles
Wlada

6

Usa material-design-icons-iconfont

Divulgazione completa, sono l'autore di questo pacchetto

Il progetto di icone di design dei materiali di Google è a bassa manutenzione e obsoleto per un po ' . C'è un divario tra la versione in https://material.io/icons/ e la versione in material-design-icons .

Ho creato material-design-icons-iconfont per affrontare questi importanti problemi:

  • material-design-icons inceppamenti npm install: tutti i file svg / xml / ... irrilevanti sono stati rimossi
  • I file dei caratteri sono sempre aggiornati direttamente da Google FontsCDN
  • Supporto per scss

Installa tramite npm

npm install material-design-icons-iconfont --save

Dipende da come impacchettate la vostra applicazione web ( webpack/ gulp/ bower/ ...), dovrete importare il file .css/ .scss(e potrebbe cambiare il relativo percorso dei font)


Importa utilizzando SCSS

Importa in uno dei tuoi file sass

$material-design-icons-font-path: '~material-design-icons-iconfont/dist/fonts/';
@import '~material-design-icons-iconfont/src/material-design-icons';

Successivamente, fai riferimento all'icona desiderata <i class="material-icons">+ icon-id +</i>

<i class="material-icons">contact_support</i>

Pagina demo

Viene fornito con una pagina demo leggera per assistere la ricerca e il copia-incolla dei caratteri

Immagine


1
Ho un problema con PWA. Le icone funzionano mentre sei nel browser, ma una volta aggiunto il collegamento nella schermata iniziale e eseguito le icone delle app non vengono visualizzate.
Wlada

4

Ho provato a compilare tutto ciò che deve essere fatto per le icone di auto-hosting nella mia risposta. Devi seguire questi 4 semplici passaggi.

  1. Apri la cartella iconfont del repository materialize

    link- https://github.com/google/material-design-icons/tree/master/iconfont

  2. Scarica questi tre file di icone ->

    MaterialIcons-Regular.woff2 - formato ('woff2')

    MaterialIcons-Regular.woff - formato ('woff')

    MaterialIcons-Regular.ttf - formato ('truetype');

    Nota: dopo il download puoi rinominarlo come preferisci.

  3. Ora vai al tuo CSS e aggiungi questo codice

@font-face {
  font-family: 'Material Icons';
  font-style: normal;
  font-weight: 400;
  src: url(MaterialIcons-Regular.eot); /* For IE6-8 */
  src: local('Material Icons'),
       local('MaterialIcons-Regular'),
       url(MaterialIcons-Regular.woff2) format('woff2'),
       url(MaterialIcons-Regular.woff) format('woff'),
       url(MaterialIcons-Regular.ttf) format('truetype');
}

.material-icons {
  font-family: 'Material Icons';
  font-weight: normal;
  font-style: normal;
  font-size: 24px;  /* Preferred icon size */
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;

  /* Support for all WebKit browsers. */
  -webkit-font-smoothing: antialiased;
  /* Support for Safari and Chrome. */
  text-rendering: optimizeLegibility;

  /* Support for Firefox. */
  -moz-osx-font-smoothing: grayscale;

  /* Support for IE. */
  font-feature-settings: 'liga';
}


Nota: l'indirizzo fornito in src: url (...) deve essere rispetto al "file CSS" e non al file index.html. Ad esempio può essere src: url (../ myicons / MaterialIcons-Regular.woff2)


  1. Ora sei pronto per l'uso ed ecco come può essere fatto in HTML

<i class="material-icons">face</i>

Clicca qui per vedere tutte le icone che possono essere utilizzate.


404 sul tuo link
Welyngton Dal Prá

1
@ WelyngtonDalPrá Grazie. corretto
abhinav1602

3

Dopo averlo fatto npm install material-design-icons, aggiungi questo nel tuo file CSS principale:

@font-face {
  font-family: 'Material Icons';
  font-style: normal;
  font-weight: 400;
  src: url(~/material-design-icons/iconfont/MaterialIcons-Regular.eot); /* For IE6-8 */
  src: local('Material Icons'),
       local('MaterialIcons-Regular'),
       url(~material-design-icons/iconfont/MaterialIcons-Regular.woff2) format('woff2'),
       url(~material-design-icons/iconfont/MaterialIcons-Regular.woff) format('woff'),
       url(~material-design-icons/iconfont/MaterialIcons-Regular.ttf) format('truetype');
}

.material-icons {
  font-family: 'Material Icons';
  font-weight: normal;
  font-style: normal;
  font-size: 24px;  /* Preferred icon size */
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;

  /* Support for all WebKit browsers. */
  -webkit-font-smoothing: antialiased;
  /* Support for Safari and Chrome. */
  text-rendering: optimizeLegibility;

  /* Support for Firefox. */
  -moz-osx-font-smoothing: grayscale;

  /* Support for IE. */
  font-feature-settings: 'liga';
}

3

Con cli angolare

npm install angular-material-icons --save

o

npm install material-design-icons-iconfont --save

material-design-icons-iconfont è l'ultima versione aggiornata delle icone. angular-material-icons non si aggiorna da molto tempo

Aspetta aspetta aspetta che l'installazione sia completata e poi aggiungila a angular.json -> projects -> architect -> styles

 "styles": [
          "node_modules/material-design-icons/iconfont/material-icons.css",
          "src/styles.scss"
        ],

o se hai installato material-desing-icons-iconfont allora

"styles": [
              "node_modules/material-design-icons-iconfont/dist/material-design-icons.css",
              "src/styles.scss"
            ],

3

Aggiornamento 2019 qui:

Per ospitare autonomamente le tue icone materiali, quelle normali, arrotondate, taglienti, tutte le varianti. Vai a prenderli da questo repo: https://github.com/petergng/material-icon-font

Per qualche motivo non so perché questi caratteri non siano facilmente accessibili dai repository di Google.

Ma eccoti qui.

Dopo aver scaricato il pacchetto, vai alla cartella bin e vedrai le quattro varianti. Naturalmente, spetta a te utilizzare qualsiasi.

Per usarli, crea un file css e

  1. Genera un tipo di carattere per ogni variante di cui hai bisogno:
@font-face {
    font-family: 'Material Icons';
    font-style: normal;
    font-weight: 400;
    src: url(./icons/regular/Material-Icons-Regular.eot); /* For IE6-8 */
    src: local('Material-Icons-Regular'),
    url(./icons/regular/Material-Icons-Regular.woff2) format('woff2'),
    url(./icons/regular/Material-Icons-Regular.woff) format('woff'),
    url(./icons/regular/Material-Icons-Regular.ttf) format('truetype');
}

@font-face {
    font-family: 'Material Icons Round';
    font-style: normal;
    font-weight: 400;
    src: url(./icons/round/Material-Icons-Round.eot); /* For IE6-8 */
    src: local('Material-Icons-Round'),
    url(./icons/round/Material-Icons-Round.woff2) format('woff2'),
    url(./icons/round/Material-Icons-Round.woff) format('woff'),
    url(./icons/round/Material-Icons-Round.svg) format('svg'),
    url(./icons/round/Material-Icons-Round.ttf) format('truetype');
}

@font-face {
    font-family: 'Material Icons Sharp';
    font-style: normal;
    font-weight: 400;
    src: url(./icons/sharp/Material-Icons-Sharp.eot); /* For IE6-8 */
    src: local('Material-Icons-Sharp'),
    url(./icons/sharp/Material-Icons-Sharp.woff2) format('woff2'),
    url(./icons/sharp/Material-Icons-Sharp.woff) format('woff'),
    url(./icons/sharp/Material-Icons-Sharp.svg) format('svg'),
    url(./icons/sharp/Material-Icons-Sharp.ttf) format('truetype');
}

Il urlcollegamento a dove si trovano le icone nel progetto.

  1. Ora registriamo le classi di icone:
.material-icons-outlined, .material-icons {
    font-weight: normal;
    font-style: normal;
    font-size: 24px;  /* Preferred icon size */
    display: inline-block;
    line-height: 1;
    text-transform: none;
    letter-spacing: normal;
    word-wrap: normal;
    white-space: nowrap;
    direction: ltr;
}

Questo renderà sia .material-icons-outlined, e .material-iconsclassi di utilizzare le stesse impostazioni predefinite. Se vuoi usarlo .material-icons-sharp, aggiungilo ai due nomi di classe.

  1. Infine, inseriamo il tipo di carattere inserito nel passaggio 1.
.material-icons {
    font-family: 'Material Icons';
}
.material-icons-outlined {
    font-family: 'Material Icons Outline';
}

Ancora una volta, per usare più varianti, come Sharp, aggiungi il suo blocco come i due sopra.

Una volta fatto ... vai al tuo html e usa le tue icone appena coniate.

<i class="material-icons-outlined">hourglass_empty</i>
<i class="material-icons">phone</i>

2

Su http://materialize.com/icons.html le informazioni di intestazione dello stile che includi nella pagina, puoi andare al collegamento ipertestuale effettivo e fare copie localizzate per utilizzare le icone offline.

Ecco come.NB: scaricherai due file in icon.css e somefile.woff .

  1. Vai al seguente URL come richiesto nell'intestazione

<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet"> .

Salva la pagina come any_filename.css. L'impostazione predefinita è icon.css

  1. Cerca una riga come questa

src: local('Material Icons'), local('MaterialIcons-Regular'), url(https://fonts.gstatic.com/s/materialicons/v22/2fcrYFNaTjcS6g4U3t-Y5ZjZjT5FdEJ140U2DJYC3mY.woff2)

  1. Visita l'URL che termina con .woff

https://fonts.gstatic.com/s/materialicons/v22/2fcrYFNaTjcS6g4U3t-Y5ZjZjT5FdEJ140U2DJYC3mY.woff2. Il tuo browser lo scaricherà automaticamente. Salvalo nella tua cartella CSS.

  1. Ora dovresti avere i due file icon.css e 2fcrYFNa .... mY.wof22 , salvali entrambi nel tuo css. Ora apporta modifiche nella posizione dell'intestazione CSS a icon.css nelle tue directory. Assicurati solo che il file .woff2 sia sempre nella stessa cartella di icon.css. Sentiti libero di modificare i nomi di file lunghi.


2

Il titolo della domanda chiede come ospitare le icone dei materiali offline ma il corpo chiarisce che l'obiettivo è usare le icone dei materiali offline (enfasi mia) .

Utilizzare la propria copia dei file delle icone dei materiali è un approccio / implementazione valido. Un altro, per coloro che possono utilizzare un lavoratore dei servizi, è lasciare che sia lui a occuparsene. In questo modo non avrai il fastidio di ottenerne una copia e mantenerla aggiornata.

Ad esempio, genera un service worker utilizzando Workbox , utilizzando l'approccio più semplice di eseguire workbox-cli e accettando i valori predefiniti, quindi aggiungi il seguente testo al service worker generato:

workboxSW.router.registerRoute('https://fonts.googleapis.com/(.*)',
workboxSW.strategies.cacheFirst({
  cacheName: 'googleapis',
  cacheExpiration: {
    maxEntries: 20
  },
  cacheableResponse: {statuses: [0, 200]}
})
);

Puoi quindi verificare che sia stato memorizzato nella cache in Chrome utilizzando F12> Applicazione> Archiviazione> IndexedDB e cercare una voce con googleapis nel nome.


L'ho fatto funzionare anche con alcune piccole modifiche. Ho cambiato "workboxSW" in "workbox". Ho cambiato "router" in "routing" e ho aggiunto questo codice nel mio file sw_config.js che viene generato quando si utilizza la procedura guidata cli della casella di lavoro.
Jason Allshorn,

2

A partire dal 2020, il mio approccio consiste nell'utilizzare il pacchetto material-icons-font . Semplifica l'utilizzo del pacchetto material-design-icons di Google e del material-design-icons-iconfont basato sulla comunità .

  1. Installa il pacchetto. npm install material-icons-font --save

  2. Aggiungi il percorso del file CSS del pacchetto alla proprietà style del file angular.json del tuo progetto.

    ... "styles": [ "./node_modules/material-icons-font/material-icons-font.css" ], ...

  3. Se utilizzi SCSS, copia il contenuto di seguito all'inizio del file styles.scss.

    @import '~material-icons-font/sass/variables'; @import '~material-icons-font/sass/mixins'; $MaterialIcons_FontPath: "~material-icons-font/fonts"; @import '~material-icons-font/sass/main'; @import '~material-icons-font/sass/Regular';

  4. Usa le icone nel file HTML del tuo progetto.

    // Using icon tag
    <i class="material-icons">face</i>
    <i class="material-icons md-48">face</i>
    <i class="material-icons md-light md-inactive">face</i>
    
    // Using Angular Material's <mat-icon> tag
    <mat-icon>face</mat-icon>
    <mat-icon>add_circle</mat-icon>
    <mat-icon>add_circle_outline</mat-icon>

Le icone di @ angular / material tendono a rompersi durante lo sviluppo offline. L'aggiunta del pacchetto material-icons-font insieme a @ angular / material ti consente di utilizzare il tag durante lo sviluppo offline.


0

Installa il pacchetto npm

npm install material-design-icons --save

Inserisci il percorso del file css nel file styles.css

@import "../node_modules/material-design-icons-iconfont/dist/material-design-icons.css";

0

Il metodo Kaloyan Stamatov è il migliore. Prima vai su https://fonts.googleapis.com/icon?family=Material+Icons . e copia il file css. il contenuto assomiglia a questo

/* fallback */
@font-face {
    font-family: 'Material Icons';
    font-style: normal;
    font-weight: 400;
    src: url(https://fonts.gstatic.com/s/materialicons/v37/flUhRq6tzZclQEJ-Vdg-IuiaDsNc.woff2) format('woff2');
}
    
.material-icons {
    font-family: 'Material Icons';
    font-weight: normal;
    font-style: normal;
    font-size: 24px;
    line-height: 1;
    letter-spacing: normal;
    text-transform: none;
    display: inline-block;
    white-space: nowrap;
    word-wrap: normal;
    direction: ltr;
    -moz-font-feature-settings: 'liga';
    -moz-osx-font-smoothing: grayscale;
}

Incolla l'origine del carattere nel browser per scaricare il file woff2 https://fonts.gstatic.com/s/materialicons/v37/flUhRq6tzZclQEJ-Vdg-IuiaDsNc.woff2 Quindi sostituisci il file nella fonte originale. Puoi rinominarlo se vuoi Non è necessario scaricare file da 60 MB da GitHub. Morto semplice Il mio codice assomiglia a questo

@font-face {
    font-family: 'Material Icons';
    font-style: normal;
    font-weight: 400;
    src: url(materialIcon.woff2) format('woff2');
}

.material-icons {
    font-family: 'Material Icons';
    font-weight: normal;
    font-style: normal;
    font-size: 24px;
    line-height: 1;
    letter-spacing: normal;
    text-transform: none;
    display: inline-block;
    white-space: nowrap;
    word-wrap: normal;
    direction: ltr;
    -moz-font-feature-settings: 'liga';
    -moz-osx-font-smoothing: grayscale;
}

mentre materialIcon.woff2 è il file woff2 scaricato e sostituito.


1
Non funziona su tutti i browser, vedere questa risposta Così, per ulteriori informazioni: stackoverflow.com/questions/11002820/...
xaviert

-1
npm install material-design-icons

e

@import '~material-design-icons/iconfont/material-icons.css';

ha funzionato anche per me con Angular Material 8


-1

Aggiunto questo alla configurazione web e l'errore è andato via

<system.webServer>
    <staticContent>
      <remove fileExtension=".woff" /> 
      <mimeMap fileExtension=".woff" mimeType="application/x-font-woff" />
      <remove fileExtension=".woff2" /> 
      <mimeMap fileExtension=".woff2" mimeType="application/font-woff2" />
    </staticContent>

-1

A proposito, c'è un video disponibile su youtube con istruzioni passo passo.

https://youtu.be/7j6eOkhISzk

  1. Questi sono i passaggi. Scarica il pacchetto dell'icona materialize da https://github.com/google/material-design-icons/releases

  2. Copia la cartella icon-font e rinominala in icone.

  3. Apri il file materialize.css e aggiorna i seguenti percorsi:

un. da url (MaterialIcons-Regular.eot) a url (../ fonts / MaterialIcons-Regular.eot) b. dal formato url (MaterialIcons-Regular.woff2) ('woff2') al formato url (../ fonts / MaterialIcons-Regular.woff2) ('woff2') c. dal formato url (MaterialIcons-Regular.woff) ('woff') al formato url (../ fonts / MaterialIcons-Regular.woff) ('woff') d. dal formato url (MaterialIcons-Regular.ttf) ('truetype') al formato url (../ fonts / MaterialIcons-Regular.ttf) ('truetype')

  1. Copia materialize-icon.css nella tua cartella css e fai riferimento ad esso nel tuo file html.

Tutto funzionerà come per magia!

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.