如何仅修改Angular 15中所有Material组件的字体族?
仅修改Angular Material组件font-family的简便方法
不用重新定义所有排版内容,有两种简便方式可以只修改font-family:
方法1:基于默认配置局部覆盖(SCSS方式)
Angular Material的排版系统支持继承默认配置,只修改你需要的属性:
- 在全局样式文件(比如
styles.scss)中引入Material的SCSS模块:
@use '@angular/material' as mat;
- 定义自定义排版配置,仅指定
font-family:
$custom-typography: mat.define-typography-config( $font-family: '你的目标字体, sans-serif' );
- 应用这个配置到Material核心样式:
@include mat.core($custom-typography);
这样所有Material组件会自动使用你设置的字体,其他排版属性(字号、行高、字重等)保持默认。
方法2:全局CSS变量直接覆盖
如果不想用SCSS,直接通过CSS变量修改更简单:
在全局样式文件中添加:
:root { --mat-font-family: '你的目标字体, sans-serif'; }
只要这段样式在Material的默认样式之后加载,就能全局替换所有Material组件的字体。
至于官方文档看起来繁琐的原因,是因为文档更偏向展示完整的排版定制流程(比如全量修改字号、字重等场景),局部覆盖的场景没有单独突出说明,容易让开发者误以为必须重写所有配置。
内容的提问来源于stack exchange,提问作者csyperski
相关产品推荐
相关产品推荐

