uni-app引入字体图标库新方法并做兼容处理

uni-app引入字体图标库新方法

1.https://weex.apache.org/zh/docs/modules/dom.html#getlayoutdirection

进入weex官网,文档-内置模块-dom-addRule 然后复制如下代码
const domModule = weex.requireModule('dom')
domModule.addRule('fontFace', {
    'fontFamily': "iconfont2",
    'src': "url('http://at.alicdn.com/t/font_1469606063_76593.ttf')"
});

2.修改代码中的相关信息

'fontFamily'的值可以自定义修改
'src'中的信息来源于阿里巴巴矢量图标库自定义添加的图标选择ttf后缀进行复制

在这里插入图片描述

3.复制完成后代码

const domModule = weex.requireModule('dom');
		domModule.addRule('fontFace', {
			fontFamily: 'iconfont',
			src: "url('http://at.alicdn.com/t/font_1644137_8dojltpmfzw.ttf')"
		});

4.放置位置

// index.nvue的onLoad()中
onLoad() {
		const domModule = weex.requireModule('dom');
		domModule.addRule('fontFace', {
			fontFamily: 'iconfont',
			src: "url('http://at.alicdn.com/t/font_1644137_8dojltpmfzw.ttf')"
		});
	},

5.使用注意事项

<text class="iconfont">&#xe642;</text>
*1.使用text组件引用字体图标
*2.组件一定不能换行

6.引入图标库优化

以上的在每个页面onLoad()引入太过麻烦,所以考虑在App.vue生命周期里面加载
<script>
export default {
	onLaunch: function() {
		// 加载图标库
		// 当为APP-PLUS-NVUE是加载
		// #ifdef APP-PLUS-NVUE
		const domModule = weex.requireModule('dom');
		domModule.addRule('fontFace', {
			fontFamily: 'iconfont',
			src: "url('http://at.alicdn.com/t/font_1644137_8dojltpmfzw.ttf')"
		});
		// #endif
		console.log('App Launch');
	},
	onShow: function() {
		console.log('App Show');
	},
	onHide: function() {
		console.log('App Hide');
	}
};
</script>

<style>
/*每个页面公共css */
/*引入css样式库*/
@import './common/free.css';
@import './common/common.css';
</style>

7.图标如何兼容多端

目前只是兼容了app,在微信小程序中打开是看不到图标的
1.下载图标的css代码放到一个新建的css文件中
2.对css代码进行删减留下.ttf后缀的那一行,这里的src和App.vue中的相同
@font-face {font-family: "iconfont";
  src:url('http://at.alicdn.com/t/font_1644137_8dojltpmfzw.ttf') format('truetype')
}

.iconfont {
  font-family: "iconfont" !important;
  font-size: 16px;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

3.在App.vue
<style>
/*每个页面公共css */

/*引入css样式库*/
@import './common/free.css';
@import './common/common.css';

/* #ifndef APP-PLUS-NVUE */
/* 如果不是APP-PLUS-NVUE则加载图标库,目的是做一个兼容 */
@import './common/free-icon.css';
/* #endif */
</style>
总结:
引入图标分为两种情况:
1.直接下载css代码引入,删减css代码时保留base64和下方类那串代码。
2.下载css文件,下载css的代码时保留.ttf文件,并下载引.ttf文件。
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

李 元 芳

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值