我想将一个新字体导入到我的Angular 5项目中。
我已经尝试过:
1)将文件复制到assets / fonts /
2)将其添加到.angular-cli.json
样式中
但是我已经检查过该文件不是 .css
,它是一个 .otf
,类似于 .exe
(它是一个安装程序),因此我不知道如何导入它。有什么建议吗?
我想将一个新字体导入到我的Angular 5项目中。
我已经尝试过:
1)将文件复制到assets / fonts /
2)将其添加到.angular-cli.json
样式中
但是我已经检查过该文件不是 .css
,它是一个 .otf
,类似于 .exe
(它是一个安装程序),因此我不知道如何导入它。有什么建议吗?
您需要将字体文件放在资产文件夹中(可能是资产文件夹内的fonts子文件夹),并在样式中引用:
@font-face {
font-family: lato;
src: url(assets/font/Lato.otf) format("opentype");
}
完成之后,您可以在任何地方应用此字体,例如:
* {
box-sizing: border-box;
margin: 0;
padding: 0;
font-family: 'lato', 'arial', sans-serif;
}
您可以将@font-face
的定义放入您的全局styles.css
或styles.scss
中,这样您就可以在任何地方引用该字体 - 即使在组件特定的CSS / SCSS中也可以。 styles.css
或styles.scss
已经在angular-cli.json
中定义。或者,如果您想要,可以创建一个单独的CSS / SCSS文件,并在angular-cli.json中声明它,以及styles.css
或styles.scss
一起使用:
"styles": [
"styles.css",
"fonts.css"
],
@font-face
定义放在全局的 styles.css
或 styles.scss
中,这样你就可以在任何地方引用该字体,甚至在组件特定的 CSS/SCSS 中也可以。styles.css
已经在 angular-cli.json
中定义了。或者,如果你想要的话,你可以创建一个单独的 CSS 文件,并在 angular-cli.json
中进行引用。 - Saptarshi Basu你可以尝试使用font-face为字体创建css(就像这里解释的一样)
步骤#1
创建一个包含字体面板的CSS文件并将其放在某个位置,比如assets/fonts
customFont.css
@font-face {
font-family: YourFontFamily;
src: url("/assets/font/yourFont.otf") format("truetype");
}
步骤 #2
将 CSS 添加到您的 .angular-cli.json
(或 Angular 6+ 的 .angular.json
)中的 styles
配置中。
"styles":[
//...your other styles
"assets/fonts/customFont.css"
]
在执行此操作后,不要忘记重新启动ng serve
步骤#3
在您的代码中使用该字体
component.css
span {font-family: YourFontFamily; }
已经有了上面的答案,但我还想补充一些内容...您可以在@font-face中指定以下内容:
@font-face {
font-family: 'Name You Font';
src: url('assets/font/xxyourfontxxx.eot');
src: local('Cera Pro Medium'), local('CeraPro-Medium'),
url('assets/font/xxyourfontxxx.eot?#iefix') format('embedded-opentype'),
url('assets/font/xxyourfontxxx.woff') format('woff'),
url('assets/font/xxyourfontxxx.ttf') format('truetype');
font-weight: 500;
font-style: normal;
}
因此,您只需指示您已选择的字体名称
注意: 字体加粗和倾斜取决于您的 .woff .ttf ... 文件。
local()
函数是做什么的? - C4d@import url("https://fonts.googleapis.com/css2?family=Saira:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap");
@import '~@angular/material/theming';
$typography: mat-typography-config(
$font-family: 'Saira'
);
@include angular-material-typography($typography);
@Saptarshi Basu的答案对我非常有效。 如果您正在寻找SF Pro字体.otf(或.ttf)文件:
我的styles.scss文件如下所示:
// Fonts
@font-face {
font-family: SFPRO;
src: url("assets/fonts/SF-Pro/SF-Pro-Text-Regular.otf");
format: "opentype";
}
// CSS Reset
* {
margin: 0;
padding: 0;
box-sizing: border-box;
font-family: SFPRO
}
显然,每个我的子.scss文件都“包含”(嘿嘿):
@import '../../../../../styles.scss';