@font-face引入自定义字体 兼容IE

废话说在前头

最近在给学校做网站,经理要求字体必须要兼容IE,有意思的是居然没人会搞这个引入外部字体兼容!在我最无望的时候甚至还发现了百度、淘宝都向万恶的IE字体屈服了。

但最后还是CSDN爸爸救了我。

有图有真相!很多教程并没有说到点上真的耽误好多时间啊!
在这里插入图片描述

进入正题

首先,除IE以外的其他浏览器(Chrome、Opera、Firefox、QQ、360、搜狗)基本都可以直接使用一下两行代码引入:

@font-face{
	font-family: pingfang;
	src: url(../fonts/pingfang.ttf);
}

但这种方法在运行IE时,审查元素会看到font-family已经设置为我们引入的字体,但实际上文字的样式并没有改变。

找到的几个原因主要是:
1、IE不支持ttf格式的字体文件,需要转.eot格式的
2、OneType权限为不可安装,需要设置format属性
还有说文件名要转码为Unicode,文件要各种压缩等等。。。

其实解决办法就是格式转换加几行代码:

首先要准备好要引入的字体文件.ttf.eot.woff.svg格式各一份,格式转化的工具网上一大堆;

然后在css文件中写入下列代码:

@font-face {
	font-family: pingfang;
    src: url(../fonts/pingfang.eot);
    src:local('☺'),
        url(../fonts/pingfang.eot?#iefix) format('embedded-opentype'),
        url(../fonts/pingfang.woff) format('woff'),
        url(../fonts/pingfang.ttf) format('truetype'),
        url(../fonts/pingfang.svg#webfontOTINA1xY) format('svg');
}
/*引入的文件名为 pingfang.后缀*/
/*用的时候只需要修改文件路径和文件名、字体名部分*/

这样字体就成功引入啦,只是引入哦,设置字体走一般流程就好啦~

有用的最后说

这样的方法会出现一个致命缺陷,字体文件太大,加载超慢,用户体验极差!

网页引入外部字体对我们汉字实在太不友好了,所有英文单词由26个字母组成,而我们汉字常用文字就有三千多,因此相比英文字体文件,汉字字体文件实在太大了!(我这个项目里用的苹方准简有十兆)

应用上述方法,一个十兆的ttf转码成另外三个格式,加起来有六十兆。。。

可以用字蛛压缩一下

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
@font-faceCSS3中的一个模块,它允许开发者自定义字体并将其嵌入到网页中。通过使用@font-face,你可以在网页中使用非Web安全字体,从而实现更多样化的字体效果。\[3\] @font-face的语法规则如下: @font-face { font-family: <YourWebFontName>; /* 自定义字体名称 */ src: <source> \[<format>\]\[, <source> \[<format>\]\]*; /* 自定义字体的存放路径、格式 */ \[font-weight: <weight>\]; /* 定义字体是否为粗体 */ \[font-style: <style>\]; /* 定义字体样式,如斜体 */ } 其中,font-family用于定义自定义字体的名称,src用于指定自定义字体的存放路径和格式,format参数主要用于帮助浏览器识别字体格式。font-weight用于定义字体是否为粗体,font-style用于定义字体样式,如斜体。\[2\] 通过使用@font-face,你可以在CSS中引用自定义字体,并在网页中应用这些字体,从而实现更丰富的字体效果。 #### 引用[.reference_title] - *1* [用 @font-face 实现自定义字体](https://blog.csdn.net/huangpb123/article/details/104231496)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [@font-face使用自定义字体](https://blog.csdn.net/weixin_50561836/article/details/114108305)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [css3中@font-face模块自定义字体](https://blog.csdn.net/anmi3721/article/details/101666350)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值