Як використовувати нові теми Значок дизайну матеріалів: Окреслені, Округлені, Двокольорові та Різкі?


171

Google оновив свої Значки дизайну матеріалів за допомогою 4 нових попередньо заданих тем:

Окреслені, закруглені, двоколірні та різкі , на додаток до звичайної теми " Заповнені / базові лінії ":


Але, на жаль, ніде не сказано, як використовувати нові теми.


Я використовував його через веб-шрифти Google , включивши посилання:

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

А потім, використовуючи необхідний значок, як це запропоновано в документації :

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

Але він завжди показує версію "Заповнений / базовий рівень".


Я спробував зробити наступне , щоб використовувати намітилася тему натомість:

<i class="material-icons">account_balance_outlined</i>
<i class="material-icons material-icons-outlined">account_balance</i>

і, змінивши посилання веб-шрифтів на:

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

і т.д. Але це не працює.


І немає сенсу робити такі постріли в темряві.


tl; dr: Хто-небудь намагався використовувати нові теми? Це навіть працює як базова версія (вбудований html-тег)? Або це призначено лише для завантаження у форматі SVG чи PNG?

Заздалегідь спасибі.

Відповіді:


171

Оновлення (31.03.2019): Усі теми значків зараз працюють через веб-шрифти Google.

Як зазначає Едрік, зараз просто питання додати посилання на веб-шрифти google у голову документа, як-от так:

<link href="https://fonts.googleapis.com/css?family=Material+Icons|Material+Icons+Outlined|Material+Icons+Two+Tone|Material+Icons+Round|Material+Icons+Sharp" rel="stylesheet">

А потім додавання правильного класу для виведення піктограми певної теми.

<i class="material-icons">donut_small</i>
<i class="material-icons-outlined">donut_small</i>
<i class="material-icons-two-tone">donut_small</i>
<i class="material-icons-round">donut_small</i>
<i class="material-icons-sharp">donut_small</i>

Колір піктограм можна також змінити за допомогою CSS.

Примітка. Двоколірна піктограма теми в даний час трохи глянцева.


Оновлення (14.11.2018): Список 16 піктограм контуру, які працюють із суфіксом "_outline".

Ось останній список із 16 піктограм контуру, які працюють із звичайним веб-шрифтом Material-icons, використовуючи суфікс _outline (перевірений та підтверджений).

(Як знайдено на сторінці матеріалів-дизайну-ікон github . Шукати: " _outline_24px.svg ")

<i class="material-icons">help_outline</i> 
<i class="material-icons">label_outline</i> 
<i class="material-icons">mail_outline</i> 
<i class="material-icons">info_outline</i> 
<i class="material-icons">lock_outline</i> 
<i class="material-icons">lightbulb_outline</i> 
<i class="material-icons">play_circle_outline</i> 
<i class="material-icons">error_outline</i> 
<i class="material-icons">add_circle_outline</i> 
<i class="material-icons">people_outline</i> 
<i class="material-icons">person_outline</i> 
<i class="material-icons">pause_circle_outline</i> 
<i class="material-icons">chat_bubble_outline</i> 
<i class="material-icons">remove_circle_outline</i> 
<i class="material-icons">check_box_outline_blank</i> 
<i class="material-icons">pie_chart_outlined</i> 

Зауважте, що pie_chart має бути " pie_chart_ окреслено ", а не контур .


Це хак для тестування нових тем значків за допомогою вбудованого тегу. Це не офіційне рішення.

На сьогодні (19 липня 2018 р.) З моменту введення нових тем піктограм трохи більше ніж 2 місяці, немає жодного способу включити ці значки за допомогою вбудованого тегу <i class="material-icons"></i>.

+ Мартін зазначив, що в Github виникає проблема щодо того ж: https://github.com/google/material-design-icons/isissue/773

Тому, поки Google не знайде рішення для цього, я почав використовувати хак для включення цих нових тем значків у моє середовище розробки, перш ніж завантажувати відповідні піктограми у вигляді SVG чи PNG. І я думав, що поділюся з усіма вами.


ВАЖЛИВО : Не використовуйте це у виробничому середовищі, оскільки кожен із включених файлів CSS від Google розміром понад 1 Мб.


Google використовує ці таблиці стилів для демонстрації піктограм на їх демо-сторінці:

Контур:

<link rel="stylesheet" href="https://storage.googleapis.com/non-spec-apps/mio-icons/latest/outline.css">

Округлені:

<link rel="stylesheet" href="https://storage.googleapis.com/non-spec-apps/mio-icons/latest/round.css">

Двоколірний:

<link rel="stylesheet" href="https://storage.googleapis.com/non-spec-apps/mio-icons/latest/twotone.css">

Різко:

<link rel="stylesheet" href="https://storage.googleapis.com/non-spec-apps/mio-icons/latest/sharp.css">

Кожен з цих файлів містить піктограми відповідних тем, що містяться як фонові зображення (зображення Base64). Ось як ми можемо скористатися цим, щоб перевірити сумісність певного значка в нашому дизайні, перш ніж завантажувати його для використання у виробничому середовищі.


КРОК 1 :

Включіть таблицю стилів теми, яку ви хочете використовувати. Напр .: Для теми "Накреслено" використовуйте таблицю стилів для "outline.css"

КРОК 2 :

Додайте такі класи до власного таблиці стилів:

.material-icons-new {
    display: inline-block;
    width: 24px;
    height: 24px;
    background-repeat: no-repeat;
    background-size: contain;
}

.icon-white {
    webkit-filter: contrast(4) invert(1);
    -moz-filter: contrast(4) invert(1);
    -o-filter: contrast(4) invert(1);
    -ms-filter: contrast(4) invert(1);
    filter: contrast(4) invert(1);
}

КРОК 3 :

Використовуйте значок, додавши наступні класи в<i> тегу :

1) material-icons-newклас

2) Назва піктограми, як показано на демонстраційній сторінці значків матеріалів із префіксом назви теми, а потім дефісом.

Префікси:

Окреслено: outline-

Округлені: round-

Двоколірний: twotone-

Різко: sharp-

Напр. (Для піктограми "оголошення"):

outline-announcement, round-announcement, twotone-announcement,sharp-announcement

3) Використовуйте додатковий 3-й клас icon-whiteдля перетворення кольору з чорного на білий (для темних фонів)


Зміна розміру піктограми:

Оскільки це фонове зображення, а не піктограма шрифту, використовуйте властивості heightі widthвластивості CSS для зміни розміру піктограм. У material-icons-newкласі за замовчуванням встановлено 24px .


Приклад:

Випадок I: для окресленої теми піктограми account_circle :

1) Включіть таблицю стилів:

<link rel="stylesheet" href="https://storage.googleapis.com/non-spec-apps/mio-icons/latest/outline.css">

2) Додайте тег значків на свою сторінку:

<i class="material-icons-new outline-account_circle"></i>

Необов’язково (для темних фонів):

<i class="material-icons-new outline-account_circle icon-white"></i>

Випадок II: Для гострої теми значка оцінки :

1) Включіть таблицю стилів:

<link rel="stylesheet" href="https://storage.googleapis.com/non-spec-apps/mio-icons/latest/sharp.css">

2) Додайте тег значків на свою сторінку:

<i class="material-icons-new sharp-assessment"></i>

(Для темних фонів):

<i class="material-icons-new sharp-assessment icon-white"></i>

Я не можу підкреслити, що це НЕ ПРАВИЛЬНИЙ ШЛЯХ для включення піктограм у виробниче середовище. Але якщо вам потрібно сканувати декілька піктограм на вашій сторінці в процесі розробки, це робить включення значка досить простим і економить багато часу.

Завантаження піктограми у форматі SVG або PNG впевнено - це кращий варіант, коли мова йде про оптимізацію швидкості сайту, але піктограми шрифту - це економія часу, коли справа доходить до фази прототипування та перевірки, чи відповідає певна піктограма з вашим дизайном тощо.


Я оновлю цю публікацію, якщо і коли Google придумає рішення цієї проблеми, яке не передбачає завантаження піктограми для використання.


Привіт! це досить корисно, але я все ще не можу включити свою піктограму, я хочу включити screen_share, я спробував із класом .outline-screen_share, але він нічого не надрукує, я перевіряю клас у інспектора, і він існує, може я втратив будь-який крок?
— cucuru

1
@cucuru Спасибі, я думаю, ти пропустив крок 2 . Додавання класу .material-icons-newта його властивостей до власного таблиці стилів, а потім виклику піктограми на <i class="material-icons-new outline-screen_share"></i>.
— Асіль Джон

1
Там тепер , схоже, нові CSS шрифти для нових тем Матеріал Icon: codepen.io/Chan4077/pen/bZNyQG
— Edric

Чудово! Працює як шарм.
— Soorya

Для кутового матеріалу потрібно використовувати fontSetзамість class. Дивіться відповідь Рона Нетцера нижче від 14.08.19.
— Russ

31

Станом на 27 лютого 2019 року існують шрифти CSS для нових тем Material Icon.

Однак для створення шрифтів вам потрібно створити CSS-класи.

Сімейства шрифтів такі:

  • Material Icons Outlined - Викладені іконки
  • Material Icons Two Tone - Двоколірні значки
  • Material Icons Round - Округлені значки
  • Material Icons Sharp - Різкі значки

Дивіться приклад коду нижче для прикладу:

body {
  font-family: Roboto, sans-serif;
}

.material-icons-outlined,
.material-icons.material-icons--outlined,
.material-icons-two-tone,
.material-icons.material-icons--two-tone,
.material-icons-round,
.material-icons.material-icons--round,
.material-icons-sharp,
.material-icons.material-icons--sharp {
  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;
  -webkit-font-feature-settings: 'liga';
  -webkit-font-smoothing: antialiased;
}

.material-icons-outlined,
.material-icons.material-icons--outlined {
  font-family: 'Material Icons Outlined';
}

.material-icons-two-tone,
.material-icons.material-icons--two-tone {
  font-family: 'Material Icons Two Tone';
}

.material-icons-round,
.material-icons.material-icons--round {
  font-family: 'Material Icons Round';
}

.material-icons-sharp,
.material-icons.material-icons--sharp {
  font-family: 'Material Icons Sharp';
}
<!DOCTYPE html>
<html>

<head>
  <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,400,500|Material+Icons|Material+Icons+Outlined|Material+Icons+Two+Tone|Material+Icons+Round|Material+Icons+Sharp">
</head>

<body>
  <section id="original">
    <h2>Baseline</h2>
    <i class="material-icons">home</i>
    <i class="material-icons">assignment</i>
  </section>
  <section id="outlined">
    <h2>Outlined</h2>
    <i class="material-icons-outlined">home</i>
    <i class="material-icons material-icons--outlined">assignment</i>
  </section>
  <section id="two-tone">
    <h2>Two tone</h2>
    <i class="material-icons-two-tone">home</i>
    <i class="material-icons material-icons--two-tone">assignment</i>
  </section>
  <section id="rounded">
    <h2>Rounded</h2>
    <i class="material-icons-round">home</i>
    <i class="material-icons material-icons--round">assignment</i>
  </section>
  <section id="sharp">
    <h2>Sharp</h2>
    <i class="material-icons-sharp">home</i>
    <i class="material-icons material-icons--sharp">assignment</i>
  </section>
</body>

</html>

Або переглянути його на Codepen


EDIT: Станом на 10 березня 2019 року, здається, зараз існують класи для нових піктограм шрифту:

body {
  font-family: Roboto, sans-serif;
}
<!DOCTYPE html>
<html>

<head>
  <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,400,500|Material+Icons|Material+Icons+Outlined|Material+Icons+Two+Tone|Material+Icons+Round|Material+Icons+Sharp">
</head>

<body>
  <section id="original">
    <h2>Baseline</h2>
    <i class="material-icons">home</i>
    <i class="material-icons">assignment</i>
  </section>
  <section id="outlined">
    <h2>Outlined</h2>
    <i class="material-icons-outlined">home</i>
    <i class="material-icons-outlined">assignment</i>
  </section>
  <section id="two-tone">
    <h2>Two tone</h2>
    <i class="material-icons-two-tone">home</i>
    <i class="material-icons-two-tone">assignment</i>
  </section>
  <section id="rounded">
    <h2>Rounded</h2>
    <i class="material-icons-round">home</i>
    <i class="material-icons-round">assignment</i>
  </section>
  <section id="sharp">
    <h2>Sharp</h2>
    <i class="material-icons-sharp">home</i>
    <i class="material-icons-sharp">assignment</i>
  </section>
</body>

</html>

РЕДАКТИРУЙТЕ №2: Ось вирішення тонування двоколірних піктограм за допомогою фільтрів зображень CSS (код адаптований з цього коментаря ):

body {
  font-family: Roboto, sans-serif;
}

.material-icons-two-tone {
  filter: invert(0.5) sepia(1) saturate(10) hue-rotate(180deg);
  font-size: 48px;
}

.material-icons,
.material-icons-outlined,
.material-icons-round,
.material-icons-sharp {
  color: #0099ff;
  font-size: 48px;
}
<!DOCTYPE html>
<html>

<head>
  <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,400,500|Material+Icons|Material+Icons+Outlined|Material+Icons+Two+Tone|Material+Icons+Round|Material+Icons+Sharp">
</head>

<body>
  <section id="original">
    <h2>Baseline</h2>
    <i class="material-icons">home</i>
    <i class="material-icons">assignment</i>
  </section>
  <section id="outlined">
    <h2>Outlined</h2>
    <i class="material-icons-outlined">home</i>
    <i class="material-icons-outlined">assignment</i>
  </section>
  <section id="two-tone">
    <h2>Two tone</h2>
    <i class="material-icons-two-tone">home</i>
    <i class="material-icons-two-tone">assignment</i>
  </section>
  <section id="rounded">
    <h2>Rounded</h2>
    <i class="material-icons-round">home</i>
    <i class="material-icons-round">assignment</i>
  </section>
  <section id="sharp">
    <h2>Sharp</h2>
    <i class="material-icons-sharp">home</i>
    <i class="material-icons-sharp">assignment</i>
  </section>
</body>

</html>

Або переглянути його на Codepen


3
Здається, що colorатрибут CSS наразі не впливає на колір нових тем значка «Матеріал».
— Едрік

1
Окреслена ікона не працює, тобто? Якісь думки?
— Jismon Thomas

1
вона взагалі не відображається, навіть якщо ви запускаєте цю сторінку, тобто ви можете бачити, що це просто порожній простір, я в кінцевому підсумку використовував базову лінію, тобто!
— Джимсон Томас

Здається, colorвластивість підтримується на всіх піктограмах, крім двоколірних. (Випробувано станом на сьогодні)
— Едрік

16

Для кутового матеріалу слід використовувати введення fontSet для зміни сімейства шрифтів:

<link href="https://fonts.googleapis.com/css?family=Material+Icons|Material+Icons+Outlined|Material+Icons+Two+Tone|Material+Icons+Round|Material+Icons+Sharp"
rel="stylesheet" />

<mat-icon>edit</mat-icon>
<mat-icon fontSet="material-icons-outlined">edit</mat-icon>
<mat-icon fontSet="material-icons-two-tone">edit</mat-icon>
...

12

Якщо у вас вже є іконки з матеріалами, які працюють у вашому веб-проекті, просто потрібно оновити свою посилання у файлі html та використовуваному класі для іконок:

HTML посилання:

До цього

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

Після

<link href="https://fonts.googleapis.com/css?family=Material+Icons|Material+Icons+Outlined|Material+Icons+Two+Tone|Material+Icons+Round|Material+Icons+Sharp"
rel="stylesheet" />

клас іконок матеріалів:

Після цього просто перевірте, який клас className ви використовуєте:

Перед:

<i className="material-icons">weekend</i>

Після:

<i className="material-icons-outlined">weekend</i>

що працює для мене ... Pura vida!


10

Що для мене працювало - це використовувати _outline не _outline d після імені іконки.

<mat-icon>info</mat-icon>

проти

<mat-icon>info_outline</mat-icon>

А-ха-ха, значить, це працює так у Angular; це досить акуратно.
— Асіль Джон

5
є деякі піктограми, які є контурами та мають суфікс _outline. Він працює лише для тих
— Сангмін Лі

@SangminLee так, це список іконок, де він повинен працювати. material.io/tools/icons/?style=outline
— fxrxz

@ Aj334 так, це акуратно, чи можете ви прийняти цю відповідь, якщо вона відповіла на ваше запитання?
— fxrxz

1
Я просто використав це з звичайним веб-шрифтом Material у проекті React.js. Тож це не має нічого спільного з Angular. Я думаю, що це рішення.
— Джуро

9

Станом на 12.05.2020 р. Вам потрібно

1. включайте CSS:

<link href="https://fonts.googleapis.com/css?family=Material+Icons|Material+Icons+Outlined|Material+Icons+Two+Tone|Material+Icons+Round|Material+Icons+Sharp" rel="stylesheet">

2. Використовуйте його так:

<i class="material-icons">account_balance</i>
<i class="material-icons material-icons-outlined">account_balance</i>
<i class="material-icons material-icons-two-tone">account_balance</i>
<i class="material-icons material-icons-sharp">account_balance</i>
<i class="material-icons material-icons-round">account_balance</i>

Примітка. Наприклад, щоб використовувати окреслений стиль, потрібно вказати значки-матеріали І матеріал-іконки окреслених класів.


Для кутових використовуйте <mat-icon class="material-icons-two-tone">alarm</mat-icon>. Замінити клас або material-icons, material-icons-outlined, material-icons-two-tone, material-icons-sharpабо material-icons-round. І замініть будильник на будь-яке ім’я значка з: material.io/resources/icons/?icon=assessment&style=baseline
— Quad Coders

Використовуючи засоби mat-icon, ви додаєте додатковий модуль, який збільшує розмір програми (ну, він трохи збільшується, але іноді важливо кілька кбіт)
— Vano Maisuradze,

@VanoMaisuradze Ви можете зв’язатись із документом?
— Мегулкумар

AFAIK, для цього немає документа.
— Вано Майсурадзе

5

Нові теми, ймовірно, не є (ще?) Частиною шрифту Material Icons. Link .


Цей проект не опублікував реліз за 2 роки, я не затримую дихання.
— Coderer

3

Останні редагування Aj334 прекрасно працюють.

Google CDN

<link href="https://fonts.googleapis.com/css?family=Material+Icons|Material+Icons+Outlined|Material+Icons+Two+Tone|Material+Icons+Round|Material+Icons+Sharp" rel="stylesheet">

Елемент значок

<i class="material-icons">donut_small</i>
<i class="material-icons-outlined">donut_small</i>
<i class="material-icons-two-tone">donut_small</i>
<i class="material-icons-round">donut_small</i>
<i class="material-icons-sharp">donut_small</i>

3

Жодна з відповідей поки не пояснює, як завантажувати різні варіанти цього шрифту, щоб ви могли їх обслуговувати з вашого власного веб-сайту (WWW-сервер).

Хоча це може здатися незначним питанням з технічної точки зору, це велике питання з юридичної точки зору, принаймні, якщо ви маєте намір представити свої сторінки будь-якому громадянину ЄС (або навіть, якщо ви зробите це випадково). Це стосується навіть компаній, які проживають у США (або будь-якій країні за межами ЄС).

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

Сказавши це:

Я завантажив усі версії (звичайні, окреслені, закруглені, різкі, двоколірні) цього шрифту, виконавши два дуже легких кроки (це відповідь @ Aj334 на його власне запитання, яке поставило мене на правильний шлях) (приклад: "окреслено "варіант):

  1. Отримайте CSS з CDN Google, безпосередньо дозволивши браузеру отримати URL-адресу CSS , тобто скопіюйте таку URL-адресу в рядок розташування браузера:

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

    Це поверне сторінку, яка буде приблизно такою (принаймні, у Firefox 70.0.1 на момент написання цього):

    /* fallback */
    @font-face {
      font-family: 'Material Icons Outlined';
      font-style: normal;
      font-weight: 400;
      src: url(https://fonts.gstatic.com/s/materialiconsoutlined/v14/gok-H7zzDkdnRel8-DQ6KAXJ69wP1tGnf4ZGhUce.woff2) format('woff2');
    }
    
    .material-icons-outlined {
      font-family: 'Material Icons Outlined';
      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;
    }
    
  2. Знайдіть рядок, починаючи з src:наведеного вище коду, і дозвольте вашому браузеру отримати URL-адресу, що міститься в цьому рядку , тобто скопіюйте таку URL-адресу в рядок розташування вашого браузера:

    https://fonts.gstatic.com/s/materialiconsoutlined/v14/gok-H7zzDkdnRel8-DQ6KAXJ69wP1tGnf4ZGhUce.woff2
    

    Тепер браузер завантажить цей .woff2файл і запропонує зберегти його локально (принаймні, це зробив Firefox).

Два заключні зауваження:

Звичайно, ви можете завантажити інші варіанти цього шрифту, використовуючи той самий метод. На першому кроці просто замініть послідовність символів Outlinedу URL на послідовності символів Round(так, насправді, хоча тут вона називається "Округлена" в лівому навігаційному меню), Sharpабо Two+Tone, відповідно. Сторінка результатів буде виглядати майже однаково кожен раз, але URL-адреса в src:рядку звичайно відрізняється для кожного варіанту.

Нарешті, на кроці 1 ви навіть можете використовувати цю URL-адресу:

https://fonts.googleapis.com/css?family=Material+Icons|Material+Icons+Outlined|Material+Icons+Two+Tone|Material+Icons+Round|Material+Icons+Sharp

Це поверне CSS для всіх варіантів на одній сторінці, яка потім містить п'ять src:рядків, у кожному з яких інша URL-адреса, що вказує, де знаходиться відповідний шрифт.


2

Посилання webfonts працює зараз у всіх браузерах!

Просто додайте свої теми до посилання шрифту, розділеного трубою ( |), як це

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

Тоді посилайтесь на клас, наприклад:

// class="material-icons" or class="material-icons-outlined"

<i class="material-icons">account_balance</i>
<i class="material-icons-outlined">account_balance</i>

Ця модель також буде працювати з кутовим матеріалом:

<mat-icon>account_balance</mat-icon>
<mat-icon class="material-icons-outlined">account_balance</mat-icon>

Я буду дотримуватися цього простого підходу, поки не вийде рішення атрибутів. Хороший @intergalactic
— Sparker73

Що робити, якщо я отримаю піктограми dependenciesв пакеті.json програми замість <link>? Я не можу включати окреслені піктограми в URL ...
— Jago

1

Помістіть посилання на google стилі

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

а в тілі щось подібне

<i class="material-icons-outlined">bookmarks</i>

0

У кінцевому підсумку я використовував додаток IcoMoon для створення спеціального шрифту, використовуючи лише нові тематичні значки, необхідні для недавньої збірки веб-додатків. Це не ідеально, але ви можете досить імітувати існуючий функціонал Google Font, трохи налаштувавши його. Ось запис:

https://medium.com/@leemartin/how-to-use-material-icon-outlined-rounded-two-tone-and-sharp-themes-92276f2415d2

Якщо хтось відчуває сміливість, він може перетворити всю тему за допомогою IcoMoon. Пекло, IcoMoon, ймовірно, має внутрішній процес, який полегшить його, оскільки вони вже мають оригінальні Іконки Матеріали, встановлені у своїй бібліотеці.

У будь-якому випадку це не ідеальне рішення, але воно працювало для мене.


0

Я був незадоволений тим, що поки не знаю, Google ще не випустив свої нові конструкції як набір іконок шрифту або svg. Тому я зібрав невеликий пакет npm для вирішення проблеми.

https://www.npmjs.com/package/ts-material-icons-svg

Просто імпортуйте піктограми, які ви хочете використовувати, і додайте їх до свого реєстру. Це також підтримує струшування дерев, оскільки до вашого проекту додаються лише ті значки, які вам дуже потрібні та / або потрібні.

npm i --save https://github.com/MarcusCalidus/ts-material-icons-svg.git

наприклад, використовувати два значки тону

import {icon_edit} from 'ts-material-icons-svg/dist/twotone';

matIconRegistry.addSvgIcon(
            'edit',
            domSanitizer.bypassSecurityTrustResourceUrl(icon_edit),
        );

Тепер у вашому HTML-шаблоні ви можете використовувати новий значок

<mat-icon svgIcon="edit"></mat-icon>


0

Налаштування двоколірного кольору:

Як описано вище, ви можете використовувати клавішу colorcss, за винятком матеріалів Двоколірна тема, яка, здається, глюковата ;-)

Вирішення описано в одному з декількох кутових матеріалів випуску github за допомогою спеціального фільтра css. Цей спеціальний фільтр можна створити тут .

Наприклад:

Html:

<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Material+Icons|Material+Icons+Outlined|Material+Icons+Round|Material+Icons+Two+Tone|Material+Icons+Sharp">

<i class="material-icons-two-tone red">home</i>

css:

.red {
filter: invert(8%) sepia(94%) saturate(4590%) hue-rotate(358deg) brightness(101%) contrast(112%);
}

Додатки:

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