我想用Lato代替。我尝试在index.html
和styles.css
中添加它但不起作用。
答案 0 :(得分:5)
我发现的最佳方法是将所有Angular Material 2选择器定位如下:
body [class^='mat-'], body [class*=' mat-'] {
font-family: "lato";
}
这是因为有角度的2个组件都有一个以' mat开头的类 - '。
答案 1 :(得分:2)
以@Ben Taliadoros'为基础。回答,这将使材料图标不会破坏:
body [class^='mat-'], body [class*=' mat-'] {
font-family: 'PT Sans', sans-serif;
}
body .material-icons {
font-family: 'Material Icons';
}
CSS语法信息:
答案 2 :(得分:1)
我有同样的问题@kyw。目前唯一的方法是在需要的地方覆盖每个组件中的字体。
添加后,在组件中替换了一些字体:
html * {
font-family: "lato", sans-serif;
font-style: normal;
font-weight: 400;
}
希望有人能给我们更好的暗示。
答案 3 :(得分:1)
创建您自己的scss文件并像这样定义font-family
@import '~@angular/material/theming';
$custom-typography: mat-typography-config(
$font-family: 'Lato'
);
@include mat-core($custom-typography);
答案 4 :(得分:0)
这有效并且不会破坏mat-icon字体。
// Override Material Design Roboto Font
body [class^='mat-']:not(mat-icon), body [class*='mat-']:not(mat-icon) {
font-family: "Open Sans", sans-serif;
}
很少有人会阅读评论,因此提交此答案。