【问题标题】:How to use the new Material Design Icon themes: Outlined, Rounded, Two-Tone and Sharp?如何使用新的 Material Design Icon 主题:轮廓、圆角、双色调和锐利?
【发布时间】:2018-11-17 20:09:24
【问题描述】:

Google 已对其 Material Design Icons 进行了改进,新增了 4 个预设主题:

轮廓、圆角、双色调和锐利,除了常规的填充/基线主题:


但是,不幸的是,它没有说明如何使用新主题。


通过包含链接,我一直是using it via Google Web Fonts

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

然后使用需要的图标as suggested in the documentation

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

但它总是显示“填充/基线”版本。


我已尝试执行以下操作以改用 Outlined 主题:

<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 格式下载?

【问题讨论】:

    标签: icons material-design google-material-icons


    【解决方案1】:

    更新(2019 年 3 月 31 日):所有图标主题现在都可以通过 Google 网络字体工作。

    正如 Edric 所指出的,现在只需在文档头部添加 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 更改图标的颜色。

    注意:目前双音主题图标有点小问题。


    更新(2018 年 11 月 14 日):使用“_outline”后缀的 16 个大纲图标的列表。

    这是使用 _outline 后缀的 16 个大纲图标的最新列表,可与常规 Material-icons Webfont 一起使用(经过测试并确认)。

    (在material-design-icons github page 上找到。搜索:“_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_outlined”而不是outline


    这是一个使用内联标签测试新图标主题的技巧。这不是官方的解决方案。

    截至今天(2018 年 7 月 19 日),距离新图标主题推出已有两个多月,无法使用内联标签 &lt;i class="material-icons"&gt;&lt;/i&gt; 包含这些图标。

    +Martin 指出在 Github 上提出了一个问题:https://github.com/google/material-design-icons/issues/773

    因此,在 Google 对此提出解决方案之前,我已开始使用 hack 将这些新图标主题包含在我的开发环境中,然后再将适当的图标下载为 SVG 或 PNG。我想我会与大家分享。


    重要提示:请勿在生产环境中使用它,因为包含的每个来自 Google 的 CSS 文件的大小都超过 1MB。


    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 步

    包括您要使用的主题的样式表。 例如:对于 'Outlined' 主题,使用 '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 步

    通过将以下 添加到 &lt;i&gt; 标记来使用该图标:

    1. material-icons-new

    2. 材料图标演示页面上显示的图标名称,以主题名称为前缀,后跟连字符。

    前缀:

    概述:outline-

    四舍五入:round-

    双音:twotone-

    夏普:sharp-

    例如(用于“公告”图标):

    outline-announcementround-announcementtwotone-announcementsharp-announcement

    3) 使用可选的第三类 icon-white 将颜色从黑色反转为白色(用于深色背景)


    改变图标大小:

    由于这是背景图像而不是字体图标,请使用 CSS 的 heightwidth 属性来修改图标的大小。 material-icons-new 类中的默认设置为 24px。


    示例:

    案例一:对于account_circle图标的Outlined主题:

    1. 包括样式表:
    <link rel="stylesheet" href="https://storage.googleapis.com/non-spec-apps/mio-icons/latest/outline.css">
    
    1. 在您的页面上添加图标标签:
    <i class="material-icons-new outline-account_circle"></i>
    

    可选(适用于深色背景):

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

    案例二:对于评估图标的Sharp主题:

    1. 包括样式表:
    <link rel="stylesheet" href="https://storage.googleapis.com/non-spec-apps/mio-icons/latest/sharp.css">
    
    1. 在您的页面上添加图标标签:
    <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 谢谢,我想你错过了第 2 步。首先将.material-icons-new 类及其属性添加到您自己的样式表中,然后通过&lt;i class="material-icons-new outline-screen_share"&gt;&lt;/i&gt; 调用图标。
    • 现在似乎为新的 Material Icon 主题添加了新的 CSS 字体:codepen.io/Chan4077/pen/bZNyQG
    • 太棒了!像魅力一样工作。
    • 对于 Angular 材质,您需要使用 fontSet 而不是 class。请参阅下面 8/14/19 的 Ron Netzer 的回答。
    【解决方案2】:

    对于有角度的材质,您应该使用 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>
    ...
    

    【讨论】:

    • 这是正确答案,稍后确认Angular v10
    • 顺便问一下fontSet 的可能值是多少?
    【解决方案3】:

    截至 2019 年 2 月 27 日,新的 Material Icon 主题有 CSS 字体。

    但是,您必须创建 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查看它


    编辑:截至 2019 年 3 月 10 日,似乎现在有新字体图标的类:

    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 image filters(代码改编自this comment)为双色调图标着色的解决方法:

    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查看它

    【讨论】:

    • 似乎color CSS 属性目前不影响新 Material Icon 主题的颜色。
    • 轮廓图标不起作用,即?,有什么想法吗?
    • 根本不显示,即使你在ie上运行这个页面,你也可以看到它只是空白,我最终在ie上使用了基线!
    • 似乎除了双色图标之外的所有图标都支持color 属性。 (从今天开始测试)
    【解决方案4】:

    截至 2020 年 5 月 12 日,您需要

    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>
    

    注意:例如,要使用轮廓样式,您需要指定 material-icons AND material-icons-outlined 类。

    【讨论】:

    • 对于 Angular,请使用 &lt;mat-icon class="material-icons-two-tone"&gt;alarm&lt;/mat-icon&gt;。将类替换为 material-iconsmaterial-icons-outlinedmaterial-icons-two-tonematerial-icons-sharpmaterial-icons-round。并用任何图标名称替换警报:material.io/resources/icons/?icon=assessment&style=baseline
    • 使用 mat-icon 意味着您正在添加额外的模块,这会增加应用程序的大小(嗯,它会增加一点,但有时几 kb 很重要)
    • @VanoMaisuradze 你能链接到文档吗?
    • AFAIK,没有相关文档。
    【解决方案5】:

    如果您的 web 项目中已经有 material-icons,只需要更新您在 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!

    【讨论】:

      【解决方案6】:

      对我有用的是在图标名称后使用 _outline 而不是 _outlined

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

      对比

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

      【讨论】:

      • 啊哈,所以它在 Angular 上是这样工作的;这很整洁。
      • 有些图标是轮廓,后缀为_outline。它只适用于那些
      • @SangminLee 是的,这是应该工作的图标列表。 material.io/tools/icons/?style=outline
      • @Aj334 是的,它很整洁,如果它回答了你的问题,你能接受这个答案吗?
      • 我刚刚在 React.js 项目中将它与纯 Material 网络字体一起使用。所以它与 Angular 没有任何关系。我认为这是解决方案。
      【解决方案7】:

      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>
      

      这种模式也适用于 Angular 材质:

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

      【讨论】:

      • 我会保持这种简单的方法,直到属性解决方案出来。好一个@intergalactic
      • 如果我通过应用程序的 package.json 中的 dependencies 而不是 &lt;link&gt; 获取图标怎么办?我不能在 URL 中包含轮廓图标...
      • 这是使用 mat-icon 时要走的路
      【解决方案8】:

      新主题可能(还没有?)不是 Material Icons 字体的一部分。 Link.

      【讨论】:

      • 那个项目已经2年没有发布了,我没有屏住呼吸。
      【解决方案9】:

      到目前为止,没有一个答案解释了如何下载该字体的各种变体,以便您可以从自己的网站(WWW 服务器)提供它们。

      虽然从技术角度来看,这似乎是一个小问题,但从法律角度来看,这是一个大问题,至少如果您打算将您的网页展示给任何欧盟公民(或者即使是您无意中这样做) .对于居住在美国(或欧盟以外的任何国家/地区)的公司来说也是如此。

      如果有人对这是为什么感兴趣,我会更新这个答案并在此处提供更多详细信息,但目前,我不想浪费太多篇幅离题。

      话虽如此:

      我已经按照两个非常简单的步骤下载了该字体的所有版本(常规、轮廓、圆形、锐利、双色调)(这是@Aj334 对他自己的问题的回答,这让我走上了正确的轨道)(例如:“概述”变体):

      1. 通过直接让您的浏览器从 Google CDN 获取 CSS 获取 CSS URL,即将以下 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 做到了)。

      最后两句:

      当然,您可以使用相同的方法下载该字体的其他变体。第一步,只需将URL中的字符序列Outlined替换为字符序列Round(是的,真的,虽然here在左侧导航菜单中被称为“圆角”),Sharp或@987654330 @, 分别。结果页面每次看起来几乎相同,但src: 行中的 URL 对于每个变体当然是不同的。

      最后,在第 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,指定相应字体的位置。

      【讨论】:

        【解决方案10】:

        Aj334 最近的编辑工作完美。

        谷歌 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>
        

        【讨论】:

          【解决方案11】:

          直到知道 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>
          

          【讨论】:

            【解决方案12】:

            放入谷歌样式的头部链接

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

            在正文中是这样的

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

            【讨论】:

              【解决方案13】:

              我最终使用 IcoMoon 应用程序创建了一个自定义字体,只使用了我最近构建 Web 应用程序所需的新主题图标。它并不完美,但您可以通过一些设置很好地模仿现有的 Google 字体功能。这是一篇文章:

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

              如果有人敢于尝试,他们可以使用 IcoMoon 转换整个主题。见鬼,IcoMoon 可能有一个内部流程可以简化操作,因为他们已经在他们的库中设置了原始材质图标。

              无论如何,这不是一个完美的解决方案,但它对我有用。

              【讨论】:

                【解决方案14】:

                有点搞笑的是,Google 制作了一种在 Safari 中正常工作但在 Chrome 中无法正常工作的字体。这是https://codepen.io/anon/pen/zbavza

                <i class="material-icons-round red">warning</i>
                

                参考 https://stackoverflow.com/a/54902967/4740291 并且无法使用 css 更改颜色。

                【讨论】:

                  【解决方案15】:

                  设置双色:

                  如上所述,您可以使用color css 键,但材料Two-tone 主题似乎有问题;-)

                  使用自定义 css 过滤器在几个 angular material github issue 之一中描述了一种解决方法。这个自定义过滤器可以生成here

                  例如:

                  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%);
                  }
                  

                  附件:

                  【讨论】:

                    猜你喜欢
                    • 2018-10-20
                    • 2020-07-18
                    • 1970-01-01
                    • 2019-12-29
                    • 1970-01-01
                    • 2016-05-03
                    • 2012-07-31
                    • 2020-05-22
                    相关资源
                    最近更新 更多