如何在浏览器上呈现md-icons

时间:2017-07-26 09:58:16

标签: css angular-material2 google-material-icons

我在项目中使用了material2和Material图标。我想知道这些命名图标是如何在浏览器中呈现的。我用过

<button md-raised-button><md-icon>mode_edit</md-icon></button>

并在浏览器中,如果我检查元素

<md-icon class="mat-icon material-icons" role="img" aria-hidden="true">mode_edit</md-icon>

以下是使用的类

.mat-icon {
    background-repeat: no-repeat;
    display: inline-block;
    fill: currentColor;
    height: 24px;
    width: 24px;
}

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

但我无法理解这些图标是如何在UI上呈现的? 我只知道md-icons是矢量图像的字体图标。有人可以解释它呈现的方式吗?

2 个答案:

答案 0 :(得分:1)

此功能称为连字,允许使用名称渲染图标。

您可以在以下链接中找到更多详细信息

https://alistapart.com/article/the-era-of-symbol-fonts

http://google.github.io/material-design-icons/#icon-font-for-the-web

答案 1 :(得分:0)

根据material icon's documentation

  

将图标合并到网页中很容易。

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

此示例使用名为ligatures的排版功能,允许   只需使用文本名称即可呈现图标字形。该   替换是由Web浏览器自动完成的,并提供更多   可读代码而不是等效的数字字符引用

以下是stackoverflow的详细解答

How do ligature icons work in Material Icons?