更改 Angular Material v15 的字体

由于找不到有关如何更改Angular Material字体的新一点的日文信息,所以我将把它写成文章。
如果对有困难的人有所帮助,我将感到幸福。
如果有错误等,请指正。

我想做的事情 (Wǒ zuò de

将Angular Material的所有组件的字体从「Roboto」更改为「Noto Sans JP」。

2023-05-15 (2).png
2023-05-15 (5).png
2023-05-15 (6).png

保護越來越受到重視,人們正開始意識到我們的環境面臨的問題。

※Angular目前版本为15,16版本尚未确认是否存在。

Angular CLI: 15.2.8
Node: 18.16.0
Package Manager: npm 9.6.6
OS: win32 x64

Angular: 15.2.9
... animations, cdk, common, compiler, compiler-cli, core, forms
... material, platform-browser, platform-browser-dynamic, router

Package                         Version
---------------------------------------------------------
@angular-devkit/architect       0.1502.8
@angular-devkit/build-angular   15.2.8
@angular-devkit/core            15.2.8
@angular-devkit/schematics      15.2.8
@angular/cli                    15.2.8
@schematics/angular             15.2.8
rxjs                            7.8.1
typescript                      4.9.5

方法步骤

准备想要使用的字体

按照Google Fonts的步骤,在index.html中导入字体。

<head>
  <meta charset="utf-8">
  <title>MyApp</title>
  <base href="/">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link rel="icon" type="image/x-icon" href="favicon.ico">
- <link rel="preconnect" href="https://fonts.gstatic.com">
- <link href="https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500&display=swap" rel="stylesheet">
+ <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
+ <link href="https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500&display=swap" rel="stylesheet">
  <link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
</head>

在CSS中设置字体(不影响Angular Material)

  html, body { height: 100%; }
- body { margin: 0; font-family: Roboto, "Helvetica Neue", sans-serif; }
+ body { margin: 0; font-family: "Noto Sans JP", sans-serif; }
image.png

改变Angular Material所有组件的字体设置。

要更改Angular Material组件的字体,需要按照以下方式编辑styles.scss文件。

+ @use "@angular/material" as mat;

  html, body { height: 100%; }
  body { margin: 0; font-family: "Noto Sans JP", sans-serif; }

+ $myapp-typography: mat.define-typography-config(
+     $font-family: '"Noto Sans JP", sans-serif',
+ );
+ @include mat.all-component-typographies($myapp-typography);

可以使用mat.define-typography-config()创建一个配置对象,并使用mat.all-component-typographies()进行应用。

闲谈

@forward './core/typography/all-typography' show all-component-typographies,
  define-rem-typography-config, define-typography-config;
image.png

请参考

Customizing Typography | Angular Material

安心の公式

Angular Materialの見た目をカスタマイズしたい – JBS Tech Blog

v15。フォント以外についても詳しく書かれています(実際はこれくらい色々カスタムするのが普通?)

Angular Material のFontを変更する

v13で少し古いですが、参考にさせていただきました。

广告
将在 10 秒后关闭
bannerAds