加载网络字体 - @font-face

前段时间用到了自定义字体,没怎么在意,直接在assets 静态资源文件夹中放ttf 字体文件,使用的时候@font-face 加载即可:

 

@font-face {  
    font-family: '思源黑体';
    src: url('思源黑体.ttf'); // 字体文件与该css文件放在同级文件夹内
}

昨天又用到了自定义字体,但需要是加载用户自己上传的字体,那么放在项目资源文件夹中就不能满足需求了。

解决方法也是使用@font-face url 加载,稍微改动一下,在加载首页面的时候就把用户用到的字体全部加载出来,后续用户就可以自由使用自己的字体了。

 

    // 加载字体 初始化的时候调用此方法
     async addFontface () {
      let rule = '';
    // 调用接口
      const res = await getFontList({ userId: this.userId });
      if (res.success) {
        res.data.forEach(item => {
          rule += '@font-face {font-family:"' + item.fontName + '";src:url("' + item.fontUrl + '");}'
        });
        // 创建style 标签 写入字体信息
        const sty = document.createElement('style');
        sty.type = 'text/css';
        sty.innerHTML = rule;
        document.getElementsByTagName('head')[0].appendChild(sty);
      }
    }

// 使用字体
.class {
font-family:'思源黑体';
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值