Custom Fonts in Ionic3

2019-02-25 18:47发布

I am using Ionic3:

Your system information:

Cordova CLI: 6.4.0 
Ionic Framework Version: 3.0.1
Ionic CLI Version: 2.1.18
Ionic App Lib Version: 2.1.9
Ionic App Scripts Version: 1.3.0
ios-deploy version: Not installed
ios-sim version: Not installed
OS: macOS Sierra
Node Version: v6.9.4
Xcode version: Xcode 8.3.1 Build version 8E1000a

enter image description here

I have the following font: Ormont_Light.ttf

As you can see above, I try apply this new font in the app.scss file. However, I cannot seem to make it take effect.

As you can see, it is still using the Ionic default of:

font-family: "Roboto", "Helvetica Neue", sans-serif;

enter image description here

Question

Please can anyone advise how to implement a new font using a ttf file in Ionic 3?

UPDATE

I add the following:

@font-face {
font-family: Ormont_Light;
src: url(../assets/fonts/Ormont_Light.ttf) format("ttf");
 font-weight: normal;
 font-style: normal;
}
body {
    font-family: Ormont_Light !important;
}

Now I get the font showing up in the source:

body {
    font-family: Ormont_Light !important;
} 

But it's not being applied to the app on a global level as expected.

UPDATE

variables.scss

$font-family-base: "Ormont_Light";
$font-family-ios-base: $font-family-base;
$font-family-md-base: $font-family-base;
$font-family-wp-base: $font-family-base;

Thanks, That kind of works. It is now applying Ormont_Light too all my styles which is great. i.e. the dom now has:

body {
    font-family: Ormont_Light !important;
}

But the the displayed font is using Times New Roman font, which I guess is the browser default when it cannot find the font referenced. So I guess my path to my .ttf file is incorrect.

Where do you keep you .ttf file?

1条回答
Root(大扎)
2楼-- · 2019-02-25 19:48

You need to override the Ionic Sass Variables . You need to add this font-face in src/theme/variables.scss.

@font-face {
 font-family: 'Ormont_Light';
 src:url('../assets/fonts/Ormont_Light.ttf') format('truetype');
 font-weight: normal;
 font-style: normal;
}
$font-family-base: "Ormont_Light";
$font-family-ios-base: $font-family-base;
$font-family-md-base: $font-family-base;
$font-family-wp-base: $font-family-base;
查看更多
登录 后发表回答