vue.js 中引入外部文件 iconfont ,但是图标却不显示

发布于 2022-09-07 23:51:57 字数 1129 浏览 19 评论 0

clipboard.png

这是我的 字体文件的目录,css/new-anviz-fonts.css 是字体文件。

//new-anviz-fonts.css
@font-face {
  font-family: 'icon';
  src:  url('/src/assets/font/anviz/icon.eot?ikx76m');
  src:  url('/src/assets/font/anviz/icon.eot?ikx76m#iefix') format('embedded-opentype'),
    url('/src/assets/font/anviz/icon.ttf?ikx76m') format('truetype'),
    url('/src/assets/font/anviz/icon.woff?ikx76m') format('woff'),
    url('/src/assets/font/anviz/icon.svg?ikx76m#icon') format('svg');
  font-weight: normal;
  font-style: normal;
}

@font-face {
    font-family: 'Conv_Omnes';
    src: url('/src/assets/font/omnes/Omnes.eot');
    src: local('☺'), url('/src/assets/font/omnes/Omnes.woff') format('woff'), url('/src/assets/font/omnes/Omnes.ttf') format('truetype'), url('/src/assets/font/omnes/Omnes.svg') format('svg');
    font-weight: normal;
    font-style: normal;
}

我在网上搜索的说是外部加载的字体文件必须要使用绝对路径,我这样写绝对路径有错吗?

clipboard.png

图标只显示个方块?是什么原因呢,求解!谢谢!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

请远离我 2022-09-14 23:51:57

推荐使用阿里的iconfont,并且使用在线字体。再也不用管什么路径问题,图标不全。

怎言笑 2022-09-14 23:51:57

路径不对,你这个也是相对路径,绝对路径你要用带http的地址

掐死时间 2022-09-14 23:51:57

你应该把字体文件放在public下的static文件夹,并使用url(/static/...)。字体文件不需要重新再编译了,放在public文件夹下的文件会原封不动打包,而放在asset文件夹的文件会被当做一个模块被webpack编译。

合约呢 2022-09-14 23:51:57

终于找到2个原因:

  1. 路径
  2. 引入

路径
icon文件与样式文件置于同一个目录下 assets/fonts:

@font-face {
  font-family: 'icon';
  src:  url('icon.eot?btu5gk');
  src:  url('icon.eot?btu5gk#iefix') format('embedded-opentype'),
    url('icon.ttf?btu5gk') format('truetype'),
    url('icon.woff?btu5gk') format('woff'),
    url('icon.svg?btu5gk#icon') format('svg');
  font-weight: normal;
  font-style: normal;
}

clipboard.png

引入
在 main.js 中直接 import 引入

import  './assets/fonts/fonts.css'

最终显示效果:

clipboard.png

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文