Значки веб-шрифтов AngularJS (<md-icon>) не отображаются?

Не уверен, что это документация, которая меня сбивает с толку, но у меня возникают трудности с работой md-icons (это больше, чем другие шрифты значков). Инструкции здесь указывают на использование <md-icon md-font-icon="classname" />.

Вот пример demo с загруженной таблицей стилей шрифта значка и <md-icon md-font-icon="android" /> в соответствии с инструкциями по документации, однако ничего не отображается. Что я делаю неправильно?

Ответы

Ответ 1

Я также пытаюсь получить иконы, чтобы показать их, поэтому вот что я сделал:

Добавьте в голову html следующие

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

затем добавьте свой значок, используя следующее:

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

вы также можете использовать его внутри md-кнопки следующим образом:

<md-button class="md-icon-button" ng-click="someFunc()">
    <i class="material-icons">android</i>
</md-button>

Ответ 2

У меня была такая же проблема, как у вас, и я мог использовать ее только с <i class="material-icons">android</i>, пока не выяснил, что у меня была более старая версия материала angular.

Я использовал CDN Google, но у них не было последней версии. Вам необходимо загрузить его с веб-сайта angular (или обновления с помощью npm) и ссылки на локальный исходный код.

теперь я могу использовать его с

<md-icon md-font-set="material-icons">delete</md-icon>

Ответ 3

Вы можете просто использовать:

<md-icon>android</md-icon>

что все, здесь пример

Ответ 4

Изменить: этот ответ предназначен для Angular, а не для AngularJS (сообщение изначально указано Angular). Оставляя это для тех, кто потерян.

Поскольку ни один из других ответов не упоминает, что вам нужно включить MdIconModule, я буду. Легко забыть.

<i class="material-icons">icon_name</i> будет работать, пока выполняются инструкции https://google.github.io/material-design-icons/.

Чтобы работать <md-icon>icon_name</md-icon>, вы также должны

  • import { MdIconModule } from '@angular/material' в AppModule и
  • Список MdIconModule среди ваших AppModule imports

(или создать отдельный модуль для обработки загрузки модулей Angular Material, как описано в https://material.angular.io/guide/getting-started).

Ответ 5

Использование md-значков с помощью шрифтов google:

: <md-icon md-font-set="material-icons"> android </md-icon>

Зависимости

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

 <link href="https://material.angularjs.org/latest/angular-material.min.css" rel="stylesheet">

Ответ 6

Если вы предпочитаете использовать имена классов CSS вместо лигатур (потому что вы не хотите, чтобы считыватели экрана считывали имя значка), вам нужно добавить свой собственный CSS:

.material-icons {
  // This bit is included when you import
  // https://fonts.googleapis.com/icon?family=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;
  -webkit-font-feature-settings: 'liga';
  -webkit-font-smoothing: antialiased;

  // ...but you need to add your own CSS class names for the icons you want to use:
  &.arrow-backward::before {
    content: '\e5c4';
  }
  &.arrow-forward::before {
    content: '\e5c8';
  }
  ...
}

Затем вы можете использовать его так:

<md-button>
   Next
   <i class="material-icons right arrow-forward"></i>
</md-button>

Полный список кодов значков: https://github.com/google/material-design-icons/blob/master/iconfont/codepoints

Ответ 7

Я использовал 4 подхода, 3 из которых упомянуты на этой странице:

    <md-button ng-click="toggleSidenav('right')" flex=5 aria-label="User">
        <ng-md-icon icon="perm_identity"></ng-md-icon>
    </md-button>

    <md-button ng-click="toggleSidenav('right')" flex=5 aria-label="User">
        <md-icon md-font-set="material-icons">perm_identity</md-icon>
    </md-button>

    <md-button ng-click="toggleSidenav('right')" flex=5 aria-label="User">
        <md-icon>perm_identity</md-icon>
    </md-button>

    <md-button class="md-icon-button" ng-click="toggleSidenav('right')" flex=5 aria-label="User">
        <i class="material-icons">perm_identity</i>
    </md-button>

Значок № 1 исчезает при обновлении другого компонента. И только число 2 и 3 совпадают одинаково внутри кнопки. введите описание изображения здесь

Ответ 8

Чтобы использовать md-icons, нам нужно будет включить стиль значка материала в index.html

<link href="#" onclick="location.href='https://fonts.googleapis.com/icon?family=Material+Icons'; return false;" rel="stylesheet">

затем начните использовать значки с любым допустимым элементом html или с помощью <md-icon>, просто чтобы убедиться, что class="material-icons делает это возможным и важным для получения значков.

<md-icon class="material-icons">delete</md-icon>
<i class="material-icons">delete</i>
<span class="material-icons">delete</span>