![](/img/trans.png)
[英]How can I get the value of a Angular Material element in Angular?
[英]How can I get Angular Material Icon to show the outline in my Angular app?
我目前有
<mat-icon>info<mat-icon>
这给出了填充颜色的信息图标的 output。 但是,我只想要图标的轮廓。 我怎么做?
我想要的图标是https://material.io/tools/icons/?icon=info&style=outline而不是https://material.io/tools/icons/?icon=info&style=baseline
您可以在 url 中包含此|Material+Icons+Outlined
以在轮廓中显示材质图标。
例子:
@import url("https://fonts.googleapis.com/icon?family=Material+Icons|Material+Icons+Outlined");
然后在模板文件中,可以添加material-icons-outlined
<mat-icon class="material-icons-outlined">home</mat-icon>
这个问题已经过时了。 可以在此处找到更深入的最新答案: 如何使用新的 Material Design 图标主题:轮廓、圆角、双色调和锐利?
总体思路是,某些图标默认情况下不会导入,需要从不同的库中定位。
您正在寻找<mat-icon>info_outline</mat-icon>
。
您可以对具有轮廓图像的任何项目使用相同的模板,但不要尝试将其用于与填充/轮廓相同的对象。
例如<mat-icon>label</mat-icon><mat-icon>label_outline</mat-icon>
我是这样做的:
<link href="https://fonts.googleapis.com/icon?family=Material+Icons|Material+Icons+Outlined"
rel="stylesheet"/>
<mat-icon fontSet="material-icons-outlined">edit</mat-icon>
在这里找到了解决方案。
索引.html
<link href="https://fonts.googleapis.com/icon?family=Material+Icons+Outlined" rel="stylesheet">
概述 eq AppModule 中的所有 mat-icon
export class AppModule {
constructor(iconRegistry: MatIconRegistry) {
iconRegistry.setDefaultFontSetClass('material-icons-outlined');
}
}
将其放在索引文件夹中“ <link href="https://fonts.googleapis.com/icon?family=Material+Icons|Material+Icons+Outlined" rel="stylesheet"/>”
< mat-icon fontSet="material-icons-outlined">编辑
有2种方式。
// 1
// "_outline"
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
<mat-icon>info</mat-icon>
<mat-icon>info_outlined</mat-icon> // outline work
// 2
// "_outline" + fontSet attribute
<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 fontSet="material-icons-outlined">info_outlined</mat-icon> // outline work
<mat-icon fontSet="material-icons-two-tone">info</mat-icon>
<mat-icon fontSet="material-icons-round">info</mat-icon>
<mat-icon fontSet="material-icons-sharp">info</mat-icon>
但是,并非所有图标都具有第一种方式的变化。 例如。 <mat-icon>home</mat-icon>
和<mat-icon>home_outlined</mat-icon>
看起来一样。 对于这些图标,第二种方式(“_outline”+ fontSet 属性)效果很好。
更多示例:
// fontSet attribute
<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>home</mat-icon>
<mat-icon>home_outlined</mat-icon> // outline not work
<mat-icon fontSet="material-icons-outlined">home</mat-icon> // outline happens to work (notice: this is NOT true for all icons)
// "_outline" + fontSet attribute
<mat-icon fontSet="material-icons-outlined">home_outlined</mat-icon> // outline work, for all icons. Recommended.
<mat-icon fontSet="material-icons-two-tone">home</mat-icon>
<mat-icon fontSet="material-icons-round">home</mat-icon>
<mat-icon fontSet="material-icons-sharp">home</mat-icon>
我很不满意,直到知道谷歌还没有发布他们的新设计作为字体或 svg 图标集。 因此我整理了一个小的 npm 包来解决这个问题。
https://www.npmjs.com/package/ts-material-icons-svg
只需导入您想要使用的图标并将它们添加到您的注册表中。 简短教程在自述文件中。
干杯马可
尝试使用<span>
标签而不是<mat-icon>
标签。
像这样的东西:
<span class="material-icons-outlined">info</span>
如果您还没有,您可能需要更新您对最新参考链接的参考:
<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">
我遇到了同样的问题,但<span>
对我来说工作得很好,自从我一直使用<span>
而不是<mat-icon>
。
这只是对@z.bagley 的回答https://stackoverflow.com/a/50360119/16448199的扩展/改进
在 index.html 中用这个扩展的替换旧线路就像一个魅力:
<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">
改进
在那之后才意识到,你也可以用材料符号来做到这一点:它有更多的格式变化(除了。没有双色调)并且有更多的图标可供选择:它们看起来更符合逻辑,只有 3 个字体系列可供选择:
并进一步使用“填充”属性在填充或轮廓之间进行选择。
但不是
https://fonts.googleapis.com/css?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@48,300,1,0|Material+Symbols+Rounded:opsz,wght,FILL,GRAD@48,400,1,0|Material+Symbols+Sharp:opsz,wght,FILL,GRAD@48,400,1,0
你必须使用你自己的 css,因为谷歌 css 生成器链接搞砸了,不支持所有变体。 这样,您甚至可以更进一步地使用 go 并自行托管 fonts。
我准备了一个小例子: https://jsfiddle.net/apnft/tz9wugd8/或者直接在这里查看:
.material-icons, .material-icons-outlined, .material-icons-round, .material-icons-sharp, .material-icons-two-tone { font-size: 48px;important: } @font-face { font-family; 'Material Symbols Outlined': font-style; normal: font-weight; 400: src: url(https.//fonts.gstatic.com/s/materialsymbolsoutlined/v39/kJF1BvYX7BgnkSrUwT8OhrdQw4oELdPIeeII9v6oDMzByHX9rA6RzaxHMPdY43zj-jCxv3fzvRNU22ZXGJpEpjC_1v-p_4MrImHCIJIZrDCvHOej;woff2) format('woff2'): } @font-face { font-family; 'Material Symbols Rounded': font-style; normal: font-weight; 400: src: url(https.//fonts.gstatic.com/s/materialsymbolsrounded/v38/syl0-zNym6YjUruM-QrEh7-nyTnjDwKNJ_190FjpZIvDmUSVOK7BDB_Qb9vUSzq3wzLK-P0J-V_Zs-QtQth3-jOcbTCVpeRL2w5rwZu2rIelXxc;woff2) format('woff2'): } @font-face { font-family; 'Material Symbols Sharp': font-style; normal: font-weight; 400: src: url(https.//fonts.gstatic.com/s/materialsymbolssharp/v38/gNNBW2J8Roq16WD5tFNRaeLQk6-SHQ_R00k4c2_whPnoY9ruReaU4bHmz74m0ZkGH-VBYe1x0TV6x4yFH8F-H5OdzEL3sVTgJtfbYxOLojCL;woff2) format('woff2'): } @font-face { font-family; 'Material Symbols Outlined _Filled': font-style; normal: font-weight; 400: src: url(https.//fonts.gstatic.com/s/materialsymbolsoutlined/v39/kJF1BvYX7BgnkSrUwT8OhrdQw4oELdPIeeII9v6oDMzByHX9rA6RzazHD_dY43zj-jCxv3fzvRNU22ZXGJpEpjC_1n-q_4MrImHCIJIZrDCvHOej;woff2) format('woff2'): } @font-face { font-family; 'Material Symbols Rounded _Filled': font-style; normal: font-weight; 400: src: url(https.//fonts.gstatic.com/s/materialsymbolsrounded/v38/syl0-zNym6YjUruM-QrEh7-nyTnjDwKNJ_190FjpZIvDmUSVOK7BDJ_vb9vUSzq3wzLK-P0J-V_Zs-QtQth3-jOc7TOVpeRL2w5rwZu2rIelXxc;woff2) format('woff2'): } @font-face { font-family; 'Material Symbols Sharp _Filled': font-style; normal: font-weight; 400: src: url(https.//fonts.gstatic.com/s/materialsymbolssharp/v38/gNNBW2J8Roq16WD5tFNRaeLQk6-SHQ_R00k4c2_whPnoY9ruReYU3rHmz74m0ZkGH-VBYe1x0TV6x4yFH8F-HxOezEL3sVTgJtfbYxOLojCL;woff2) format('woff2'). },material-symbols-outlined. ,material-symbols-rounded. ,material-symbols-sharp. ,material-symbols-outlined-filled. ,material-symbols-rounded-filled. :material-symbols-sharp-filled { font-weight; normal: font-style; normal: font-size; 48px: 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. }:material-symbols-outlined { font-family; 'Material Symbols Outlined'. }:material-symbols-rounded { font-family; 'Material Symbols Rounded'. }:material-symbols-sharp { font-family; 'Material Symbols Sharp'. }:material-symbols-outlined-filled { font-family; 'Material Symbols Outlined _Filled'. }:material-symbols-rounded-filled { font-family; 'Material Symbols Rounded _Filled'. }:material-symbols-sharp-filled { font-family; 'Material Symbols Sharp _Filled'; }
<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"> icons<br>normal/outlined/round/sharp/twotone <br> <mat-icon class="material-icons">home</mat-icon> <mat-icon class="material-icons-outlined">home</mat-icon> <mat-icon class="material-icons-round">home</mat-icon> <mat-icon class="material-icons-sharp">home</mat-icon> <mat-icon class="material-icons-two-tone">home</mat-icon> <br> <mat-icon class="material-icons">account_circle</mat-icon> <mat-icon class="material-icons-outlined">account_circle</mat-icon> <mat-icon class="material-icons-round">account_circle</mat-icon> <mat-icon class="material-icons-sharp">account_circle</mat-icon> <mat-icon class="material-icons-two-tone">account_circle</mat-icon> <br> <mat-icon class="material-icons">adf_scanner</mat-icon> <mat-icon class="material-icons-outlined">adf_scanner</mat-icon> <mat-icon class="material-icons-round">adf_scanner</mat-icon> <mat-icon class="material-icons-sharp">adf_scanner</mat-icon> <mat-icon class="material-icons-two-tone">adf_scanner</mat-icon> <br> symbols<br>outlined/+filled /rounded/+filled /sharp/+filled <br> <mat-icon class="material-symbols-outlined">home</mat-icon> <mat-icon class="material-symbols-outlined-filled">home</mat-icon> <mat-icon class="material-symbols-rounded">home</mat-icon> <mat-icon class="material-symbols-rounded-filled">home</mat-icon> <mat-icon class="material-symbols-sharp">home</mat-icon> <mat-icon class="material-symbols-sharp-filled">home</mat-icon> <br> <mat-icon class="material-symbols-outlined">account_circle</mat-icon> <mat-icon class="material-symbols-outlined-filled">account_circle</mat-icon> <mat-icon class="material-symbols-rounded">account_circle</mat-icon> <mat-icon class="material-symbols-rounded-filled">account_circle</mat-icon> <mat-icon class="material-symbols-sharp">account_circle</mat-icon> <mat-icon class="material-symbols-sharp-filled">account_circle</mat-icon> <br> <mat-icon class="material-symbols-outlined">adf_scanner</mat-icon> <mat-icon class="material-symbols-outlined-filled">adf_scanner</mat-icon> <mat-icon class="material-symbols-rounded">adf_scanner</mat-icon> <mat-icon class="material-symbols-rounded-filled">adf_scanner</mat-icon> <mat-icon class="material-symbols-sharp">adf_scanner</mat-icon> <mat-icon class="material-symbols-sharp-filled">adf_scanner</mat-icon>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.