谷歌修改了它的材质设计图标,有4个新的预设主题:
除了常规的填充/基线主题之外,概述,圆形,双色和锐:
但是,不幸的是,它没有说明如何使用新的主题。
我一直在通过谷歌Web字体使用它,包括链接:
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
然后使用文档中建议的所需图标:
<i class="material-icons">account_balance</i>
但它总是显示“填充/基线”版本。
我尝试了以下方法来使用outline主题:
<i class="material-icons">account_balance_outlined</i>
<i class="material-icons material-icons-outlined">account_balance</i>
并且,更改Web字体链接为:
<link href="https://fonts.googleapis.com/icon?family=Material+Icons&style=outlined" rel="stylesheet">
等。但这并不奏效。
这样瞎猜是没有意义的。
有人尝试过使用新的主题吗?它甚至像基线版本(内联html标签)一样工作吗?或者,它只能以SVG或PNG格式下载吗?
对于Angular用户(在v14上测试):
如果你想改变图标的全局使用主题为例如:outline,你可以在你的AppModule或任何你需要的地方这样做:
export class AppModule {
constructor(private readonly iconRegistry: MatIconRegistry) {
const defaultFontSetClasses = iconRegistry.getDefaultFontSetClass();
const outlinedFontSetClasses = defaultFontSetClasses
.filter(fontSetClass => fontSetClass !== 'material-icons')
.concat(['material-icons-outlined']);
iconRegistry.setDefaultFontSetClass(...outlinedFontSetClasses);
}
}
defaultFontSetClasses还包括mat-ligatu -font类名,如果你在<mat-icon>元素中使用[fontIcon]属性绑定,为了正确呈现图标,你需要保留这个名称。
另外,记得加载Material Icons outlines样式表:
<link href="https://fonts.googleapis.com/icon?family=Material+Icons|Material+Icons+Outlined" rel="stylesheet" />
为了https://material.angular.io/components/icon/api # MatIconRegistry