Як розміщувати піктограми матеріалів офлайн?


106

Вибачте, якщо це дуже просте запитання, але як ви використовуєте значки Google google без а

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

?

Я хотів би, щоб моя програма могла відображати піктограми навіть тоді, коли у користувача немає підключення до Інтернету


Ця стаття пояснює Angular, думка може бути корисною для когось, the codeframework.com/…
Гаган

Відповіді:


112

Метод 2. Самостійний хостинг Посібник для розробників

Завантажте останню версію з github (активи: zip-файл), розпакуйте та скопіюйте папку iconfont, що містить файли значків дизайну матеріалів, у свій локальний проект - https://github.com/google/material-design-icons/ випуски

Вам потрібно лише скористатися папкою iconfont з архіву: вона містить шрифти значків у різних форматах (для підтримки декількох браузерів) та css панелі котлів .

  • Замініть джерело в атрибуті url @ font-face на відносний шлях до папки iconfont у вашому локальному проекті (де розміщені файли шрифтів), наприклад. 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>

NPM / Пауер Пакети

Google офіційно має варіант залежності від Bower та NPM - дотримуйтесь Посібника з матеріальних іконок 1

Використання баузера :bower install material-design-icons --save

Використання NPM :npm install material-design-icons --save

Матеріальні піктограми : Ви також можете переглянути шрифт значка «Дизайн матеріалу» та рамку CSS для самостійного розміщення значків із https://marella.me/material-icons/ @ marella


Примітка

Здається, Google має проект у режимі низького обслуговування. Останній реліз був, на момент написання, 3 роки тому!

Про GitHub щодо цього є декілька питань, але я хотів би звернутися до коментаря @cyberalien до цього питання, Is this project actively maintained? #951де він посилається на декілька громадських проектів, які роздвоєні та продовжують підтримувати значки з матеріалів.



Як би ви це зробили для програми GAP для телефону, де у вас не було домену?
Люк Тан

націліть свою локальну папку у вихідному URL-адресі @ font-face: url ("iconfont / MaterialIcons-Regular.woff2" - оновлена ​​відповідь
bfmags

Гей, ви можете, будь ласка, оновлювати відповідь на це. Я завантажив свої значки mdl з npm.
TheBAST

1
Вирішили свою проблему ... Я просто хотів зазначити, що нам потрібна лише iconfontпапка з усього архіву.
securecurve

для цього типу "переміщення ресурсу cdn, який обслуговуватиметься локально", зазвичай, виправдаєтеся, щоб мати надійні понад 3000 запитів середнього часу відгуку до та після того, як зміни - ви здивуєтеся, як часто це не варто, незалежно від того ваші зусилля, щоб досягти цього ...
Йордан Георгієв

37

Я будую для Angular 4/5 і часто працюю в автономному режимі, тому наступне працювало для мене. Спочатку встановіть NPM:

npm install material-design-icons --save

Потім додайте наступне до styles.css:

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

10
при дзвінку "встановити npm" зачекати зачекати зачекайте лол ... але працює через тривалий час
Серхіо Кабрал

2
@SergioCabral На щастя ви зробили коментар про очікування, тому що там було близько 5 разів, я думав, що ця установка нікуди не дінеться :) :)
Alfa Bravo

1
Дякую, що ти любив це найкраще рішення. Дякуємо <3
Алі Джамал

Робота для мене теж ... :)
Aupr

3
будь-яка ідея, як додати окреслені значки?
wutzebaer

20

Верхні підходи для мене не працюють. Я завантажую файли з github, але браузер не завантажував шрифти.

Що я зробив, це відкрити посилання на джерело значка матеріалу:

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

і я побачив цю розмітку:

    /* 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;
}

Я відкриваю посилання URL-адреси шрифту woff https://fonts.gstatic.com/s/materialicons/v22/2fcrYFNaTjcS6g4U3t-Y5ZjZjT5FdEJ140U2DJYC3mY.woff2

та завантажте файл woff2.

Потім я замінюю шлях файлу woff2 на новий у 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');
}

Це змушує мене працювати.


Дякую! У мене було те саме питання, і це було вирішено для мене.
Девід

Я вирішую свою проблему таким підходом, але пізніше я знайшов ще одне git repo, звідки отримую належний реліз.
Калоян Стаматов

@ Калоян Stamatov б непогано поділитися тим, що мерзотник репо .. так багато людей мають проблеми з застарілою офіційної репо :)
Grashopper

@Grashopper, у мене його більше немає. Вибачте
Калоян

1
більш актуальним у 2019 році, це рішення спрацювало і для мене.
compt

17

Якщо ви використовуєте проект webpack, після

npm install material-design-icons --save

вам просто потрібно

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

7
Я не рекомендую робити це, цей репо є занадто великий, використовуйте один опис. нижче npmjs.com/package/material-design-icons-iconfont Я також помітив, що браузер кешуватиме fonts.googleapis.com/icon?family=Material+Icons і він буде працювати в автономному режимі. Оформити замовлення keemor.github.io/#
keemor

Я новачок в НПХ ви можете розробити import materialIcons from 'material-design-icons/iconfont/material-icons.css'. Ми додаємо цей рядок куди? app.js або десь ще. Я використовую Framework7 з Vue, і я спробував. Це не працювало для мене.
Суат Атан кандидат наук

@SuatAtanPhD ви додаєте цей імпорт, як і будь-який інший стиль імпорту. Якщо ви використовуєте веб-пакет, вам потрібні щось на зразок завантажувача стилів, css-loader, і ви можете розмістити цей імпорт куди завгодно у своєму js-коді, наприклад у index.js або app.js тощо.
Владислав Косовських

1
Такий підхід рекомендований для створення корпоративного веб-додатку, який може працювати у внутрішній мережі без доступу до Інтернету
Юрій Братчук

13

Це може бути простим рішенням


Опублікуйте це сховище, яке є роздрібною частиною оригінального сховища Google.

Встановіть його за допомогою bower або npm

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

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

Імпортуйте файл css на вашу сторінку HTML

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

або

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

Тест: Додайте значок всередині тегу тіла вашого HTML-файлу

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

Якщо ви бачите значок обличчя, ви все в порядку.

Якщо це не працює, спробуйте додати це ..як префікс node_modulesшляху:

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

Використання пакету material-design-icons-iconfont працює навіть із стандартним mat-iconкомпонентом Angular . Таким чином, перехід проходить безшовно.
Юрій

Це рішення, яке працювало для мене, за винятком того, що посилання на таблицю стилів у index.html не спрацювало - мені довелося додати імпорт до файлу Styles.scss: @import"../node_modules/material-design-icons-iconfont/dist/material-design-icons.css"; Тоді мої локальні значки вискочили в життя
Аде

7

Мій рецепт має три кроки:

  1. встановити пакунок material-design-icons

    npm install material-design-icons
  2. імпортувати файл material-icons.css у файл .less або .scss файл / проект

    @import "~/node_modules/material-design-icons/iconfont/material-icons.css";
  3. включити рекомендований код у файл / проект reactjs .js

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

цього пакету вже не існує
yehonatan yehezkel

з кутовим кліпом, зробіть npm, встановіть material-design-icons, а потім додайте css у angular.json -> architect->
build-

6

Використовуйте material-design-icons-iconfont

Повне розкриття, я автор цього пакета

Проект Google -іконок для дизайну матеріалів-дизайнерів деякий час не потребує обслуговування та застарілий . Існує розрив між версією https://material.io/icons/ і версією в матеріалі-дизайну-іконки .

Я створив material-design-icons-iconfont для вирішення цих основних проблем:

  • material-design-icons dms npm install- усі неактуальні файли svg / xml / ... видалено
  • Файли шрифтів завжди актуальні безпосередньо з Google FontsCDN
  • Підтримка scss

Встановити через npm

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

Це залежить від того, як ви запакуєте веб-додаток ( webpack/ gulp/ bower/ ...), вам потрібно буде імпортувати .css/ .scssфайл (і може змінити відносний шлях шрифтів)


Імпорт за допомогою SCSS

Імпортуйте в один із файлів sass

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

Пізніше посилайтеся на потрібний значок <i class="material-icons">+ icon-id +</i>

<i class="material-icons">contact_support</i>
  • прочитайте повну інструкцію щодо material-design-icons-iconfont, щоб отримати більше методів імпорту

Демонстраційна сторінка

Він оснащений легкою демонстраційною сторінкою, яка допомагає шукати та копіювати скріплення шрифтів

зображення


1
У мене проблеми з PWA. Піктограми працюють під час роботи браузера, але після додавання ярлика на головний екран та запуску піктограми програми не відображаються.
Влада

4

У своїй відповіді я спробував зібрати все, що потрібно зробити для влаштування хостингу іконок. Вам потрібно дотримуватися цих 4 простих кроків.

  1. Відкрийте папку iconfont сховища матеріалізації

    посилання- https://github.com/google/material-design-icons/tree/master/iconfont

  2. Завантажте ці три файли значків ->

    MaterialIcons-Regular.woff2 - формат ('woff2')

    MaterialIcons-Regular.woff - формат ('woff')

    MaterialIcons-Regular.ttf - формат ('truetype');

    Примітка. Після завантаження ви можете перейменувати його на все, що завгодно.

  3. Тепер перейдіть до свого CSS та додайте цей код

@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';
}


Примітка. Адреса, надана в src: url (...), повинна відповідати "CSS-файлу", а не файлу index.html. Наприклад, це може бути src: url (../ myicons / MaterialIcons-Regular.woff2)


  1. Ви готові до використання зараз, і ось, як це можна зробити в HTML

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

Натисніть тут, щоб побачити всі піктограми, які можна використовувати.


404 за вашим посиланням
Welyngton Dal Prá

1
@ WelyngtonDalPrá Дякую виправлено
abhinav1602

3

Після npm install material-design-iconsцього додайте це у свій основний CSS-файл:

@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

З кутовим затиском

npm install angular-material-icons --save

або

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

material-design-icons-iconfont - це остання оновлена ​​версія піктограм. angular-material-icons не оновлюється тривалий час

Зачекайте, почекайте, поки буде завершено встановлення, а потім додайте його до angular.json -> проекта -> архітектор -> стилі

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

або якщо ви встановили "material-desing-icons-iconfont"

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

3

Оновлення 2019 року тут:

Для самостійного розміщення значків матеріалів, звичайних, закруглених, різких, усіх варіантів. Перейдіть за цим репо: https://github.com/petergng/material-icon-font

Чомусь я не знаю, чому ці шрифти не доступні з репозиторіїв Google.

Але ось ви йдете.

Завантаживши пакет, перейдіть до папки бін, і ви побачите чотири варіанти. Звичайно, від вас залежить використання будь-якого.

Для їх використання створіть файл css і

  1. Створіть шрифт для кожного потрібного варіанту:
@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');
}

Посилання urlпосилається на те, де значки розміщені у вашому проекті.

  1. Тепер давайте реєструємо класи іконок:
.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;
}

Це зробить і те, .material-icons-outlined, і .material-iconsкласи використовувати однакові за замовчуванням. Якщо ви хочете використовувати .material-icons-sharp, просто додайте їх до двох імен класу.

  1. Нарешті, дозвольте нам підключити обличчя шрифту, яке ви витягнули з кроку 1.
.material-icons {
    font-family: 'Material Icons';
}
.material-icons-outlined {
    font-family: 'Material Icons Outline';
}

Знову ж таки, щоб використовувати більше варіант, наприклад, Sharp, просто додайте його блок, як два вище.

Після закінчення ... перейдіть до свого html та використовуйте нещодавно викарбовані піктограми.

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

2

На http://materialize.com/icons.html інформація про заголовок стилю, яку ви включите на сторінку, ви можете перейти до фактичної гіперпосилання та зробити локалізовані копії, щоб використовувати піктограми в режимі офлайн.

Ось як.NB: Ви завантажите два файли у всіх icon.css та somefile.woff .

  1. Перейдіть до наступної URL-адреси, як вимагається у заголовку

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

Збережіть сторінку як файл_файлу.css. За замовчуванням - icon.css

  1. Шукайте такий рядок

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

  1. Відвідайте URL-адресу, яка закінчила

https://fonts.gstatic.com/s/materialicons/v22/2fcrYFNaTjcS6g4U3t-Y5ZjZjT5FdEJ140U2DJYC3mY.woff2. Ваш браузер автоматично завантажить його. Збережіть його у папці CSS.

  1. Тепер у вас повинні бути два файли icon.css та 2fcrYFNa .... mY.wof22 , збережіть їх обоє у своєму css. Тепер внесіть зміни у своєму заголовку css до icon.css у своїх каталогах. Просто переконайтесь, що файл .woff2 завжди знаходиться в тій же папці, що і icon.css. Не соромтесь редагувати довгі імена файлів.


2

Назва запитання задає питання про те, як розміщувати піктограми матеріалів у режимі офлайн, але тіло уточнює, що мета полягає у використанні значків матеріалу в автономному режимі (акцент у мене) .

Використання власної копії файлів значків матеріалів є коректним підходом / реалізацією. Інший, для тих, хто може скористатися службовим працівником, - це дозволити службовому працівникові піклуватися про це. Таким чином, у вас немає клопоту з отриманням копії та постійним оновленням.

Наприклад, згенеруйте сервісного працівника за допомогою Workbox , використовуючи найпростіший підхід до запуску робочої скриньки та прийняття значень за замовчуванням, а потім додайте наступний текст до створеного сервісного працівника:

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

Потім ви можете перевірити, чи був він кешований у Chrome, використовуючи F12> Застосування> Зберігання> IndexedDB і шукати запис у назві googleapis.


Я змусив це працювати також із деякими невеликими змінами. Я змінив "workboxSW" на "workbox". Я змінив "маршрутизатор" на "маршрутизацію" і додав цей код у свій файл sw_config.js, який генерується при використанні майстра кліпу робочої скриньки.
Джейсон Аллхорн

2

Станом на 2020 рік, мій підхід полягає у використанні пакету матеріалів-іконок-шрифтів . Це спрощує використання пакета Google -дизайну матеріалів-іконок Google та базованого на спільноті матеріалу-дизайну-іконки-iconfont .

  1. Встановіть пакет. npm install material-icons-font --save

  2. Додайте шлях CSS-файлу пакета до властивості стилю до файлу angular.json вашого проекту.

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

  3. Якщо ви використовуєте SCSS, скопіюйте вміст нижче вгорі файлу 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. Використовуйте піктограми у файлі HTML свого проекту.

    // 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>

Піктограми від @ angular / material зазвичай руйнуються під час роботи в режимі офлайн. Додавання пакету матеріалів-значків-шрифтів у поєднанні з @ angular / material дозволяє використовувати тег під час розробки офлайн.


0

Встановити пакет npm

npm install material-design-icons --save

Покладіть шлях CSS до файлу styles.css

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

0

Метод Калояна Стаматова найкращий. Спочатку перейдіть на сторінку https://fonts.googleapis.com/icon?family=Material+Icons . і скопіюйте файл css. зміст виглядає приблизно так

/* 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;
}

Вставте джерело шрифту до браузера, щоб завантажити файл woff2 https://fonts.gstatic.com/s/materialicons/v37/flUhRq6tzZclQEJ-Vdg-IuiaDsNc.woff2 Потім замініть файл у вихідному джерелі. Ви можете перейменувати його, якщо хочете. Не потрібно завантажувати файл 60MB з github. Мертвий простий Мій код виглядає приблизно так

@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;
}

той час як materialIcon.woff2 - це завантажений і замінений файл woff2.


1
Не працює на всіх браузерах, побачити цей SO відповідь для отримання додаткової інформації: stackoverflow.com/questions/11002820 / ...
xaviert

-1
npm install material-design-icons

і

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

працював і для мене з кутовим матеріалом 8


-1

Додано це до веб-конфігурації і помилка усунулася

<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

До речі, на youtube доступне відео із покроковими інструкціями.

https://youtu.be/7j6eOkhISzk

  1. Це кроки. Завантажте пакет іконок матеріалізації з https://github.com/google/material-design-icons/releases

  2. Скопіюйте папку із значком шрифту та перейменуйте її на іконки.

  3. Відкрийте файл materialize.css та оновіть такі шляхи:

а. від url (MaterialIcons-Regular.eot) до url (../ шрифти / MaterialIcons-Regular.eot) b. від формату url (MaterialIcons-Regular.woff2) ('woff2') до формату url (../ шрифти / MaterialIcons-Regular.woff2) формату ('woff2') c. від формату url (MaterialIcons-Regular.woff) ('woff') до формату url (../ шрифти / MaterialIcons-Regular.woff) ('woff') d. від формату url (MaterialIcons-Regular.ttf) ('truetype') до формату url (../ шрифти / MaterialIcons-Regular.ttf) ('truetype')

  1. Скопіюйте materialize-icon.css у папку css і відправте її у свій html-файл.

Все буде працювати як магія!

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.