这篇文章总结一下之前项目中一些 前端 工具及技巧,主要包括 Iconfont的正确使用姿势 、 如何使用酷炫漂亮的动画(Lottie) 、 如何加入页面滚动入场离场动效。
Iconfont的正确使用姿势
Iconfont 是阿里巴巴打造的矢量图标库,图标丰富多彩(单色和彩色),使用方便快捷(可筛选图片创建自己项目图标库),支持在线使用,摆脱了传统的图片的繁琐和css字体图标库引入的冗余。
下面介绍下如何使用 Iconfont
搜索选择图标
点击 Iconfont 打开页面如图,可以搜索 🔍 关键字,找到想要的图标
例如,搜索 ‘image’ 关键字,如图
鼠标放到图标上会出现 添加入库 、 收藏 、 下载图标 选项,一般我会选择 添加入库 ,之后统一添加到项目,生成在线地址引入项目(后面会介绍到)
右边的蓝色皇冠按钮可以进行 精选 、 全部 的筛选,红色的按钮可以进行 单色 、 多色 、 全部 的筛选
点击 下载 会弹出下载页面,可以进行图标的编辑和不同格式的下载,如图
添加入库生成在线连接
选择 添加入库 的图标,会在右上角的购物车显示数量,点击购物车图标,会弹出右侧栏,如图
可以批量下载和添加到项目,点击 添加至项目 如图
给项目取一个名字,点击确定,如图
可以看到有三种图标引入的方式,默认选中的是 Font class 的方式,也推荐使用这种方式
Unicode : 是以字体的方式引入,如下
1 | @font-face { |
Font class : 是以Css的方式引入,如下
1 | //at.alicdn.com/t/font_1066942_yvi703p2pv.css |
Symbol : 是以js的方式引入,如下
1 | //at.alicdn.com/t/font_1066942_yvi703p2pv.js |
如想了解3中方式具体用法,可点击 官方文档,这里我主要介绍 Font class 的方式
引入项目使用
首先,把生成的链接引入到页面中,如下
1 | <link rel="stylesheet" href="//at.alicdn.com/t/font_1066942_yvi703p2pv.css"> |
其次,用 <i class="iconfont icon-Userselect"></i>
在页面中使用,大小颜色都可以用 css
调整
阿里在代码的复制、图标的搜索、编辑、下载、筛选等一些操作上做的很到位,使用起来方便快捷
我在之前的项目里也使用过,还是很漂亮的 https://a.lishaoy.net ,如图是我在项目里使用的一些图标,每个图标是不是都做的很精致
Lottie开源动画库
Lottie 是Airbnb开源的一个面向 iOS、Android、React Native 的动画库,能够直接把 AE 导出的动画文件(json),引入到页面使用,以下是官方给出的效果图
Lottie 支持 iOS、Android、React Native 、Web ,这里主要介绍 lottie-Web 是如何使用,更多使用方法可以参考 http://airbnb.io/lottie/
首先,在页面中引入 CDN
上的文件,如下
1 | <script src="https://cdnjs.cloudflare.com/ajax/libs/bodymovin/5.4.2/lottie.min.js" type="text/javascript"></script> |
其次,使用 AE 制作动画(UI提供或者自己制作)导出的 json
,或者可以在 Lottie Files 下载 (Lottie Files 是一个拥有高质量 Lottie 文件格式动画的网站,不仅设计师可以在上面陈列他们的动画而且还提供免费下载)
以下是我在项目里使用的效果图(上传图片中会加重动画,上传成功动画停止),具体效果可以去我的项目上传图片体验 上传图片动画效果
具体的代码如下,在页面中创建需要加重动画的容器(HTML
代码)
1 | <div class="image-load d-flex justify-content-center align-items-center"> |
然后,用 js
初始化动画,如下
1 | let anim = lottie.loadAnimation({ |
更多的参数和事件可查阅官方文档 Lottie-Web
如何加入页面滚动入场离场动效
首先,让我们来先看看效果,如图(效果来源我的博客 https://lishaoy.net)
以上动效就是用的 AOS 这个库,具体的使用方法也很简单
在页面上引入 css
和 js
文件
1 | <link rel="stylesheet" href="https://unpkg.com/aos@next/dist/aos.css"/> |
然后,用 AOS.init()
初始化,这样初始化,使用的是默认设置,具体有很多参数可以调整,详情可查阅 项目文档,如
1 | AOS.init({ |
最后,在页面上使用即可,如
1 | <div data-aos="fade-in"></div> |
或者,也可以单独给元素设置参数,使用 data-aos-*
,如
1 | <div data-aos="fade-in" |
更多的载入效果可以参考官方给出的 示例
如在您做的页面或应用中使用了这三招,精致小图标 、 炫酷的动画 、 页面滚动载入动效 ,那么瞬间让您的页面或应用高大上且生动活泼起来。