- 积分
- 6429
- 下载币
- 个
- 帖子
- 主题
- 最后登录
- 1970-1-1
- 在线时间
- 小时
- 注册时间
- 2020-6-18
- 好友
- 听众
|
发表于 2020-12-25 14:35:11
|
显示全部楼层
|阅读模式
发布于:福建省福州市 电信
近日接到这样的开发需求。
自定义Element的Loading组件的图标和样式。
这里我采用了结合iconfont的方式,直接用iconfont里面的图标来替换Element的Loading组件里默认的图标。
效果如下:
这里就把实现过程说说吧:
1、首先是让美工UI设计好iconfont并生成导入iconfont的相关代码,如下:
- @font-face {
- font-family: "iconfont"; /* project id 2XXXXX3 */
- src: url("//at.alicdn.com/t/font_2******3_wcy8mz6cm0m.eot");
- src: url("//at.alicdn.com/t/font_2******3_wcy8mz6cm0m.eot?#iefix")
- format("embedded-opentype"),
- url("//at.alicdn.com/t/font_2******3_wcy8mz6cm0m.woff2") format("woff2"),
- url("//at.alicdn.com/t/font_2******3_wcy8mz6cm0m.woff") format("woff"),
- url("//at.alicdn.com/t/font_2******3_wcy8mz6cm0m.ttf") format("truetype"),
- url("//at.alicdn.com/t/font_2******3_wcy8mz6cm0m.svg#iconfont") format("svg");
- }
- .iconfont {
- font-family: "iconfont" !important;
- font-size: 16px;
- font-style: normal;
- -webkit-font-smoothing: antialiased;
- -moz-osx-font-smoothing: grayscale;
- }
- .icon-loading:before {
- content: "\e600";
- }
复制代码
2、加入选择的动画样式代码iconfont-loading如下:
- .iconfont-loading {
- animation-duration: 2s;
- animation-timing-function: linear;
- animation-delay: 0s;
- animation-iteration-count: infinite;
- animation-direction: normal;
- animation-fill-mode: none;
- animation-play-state: running;
- animation-name: rotating;
- display: inline-block;
- }
复制代码
3、保存并导入这些样式代码到项目中
比如我是新建了个iconfont.scss
然后在需要使用的页面@import这个scss
4、正式使用:
比如以el-table为例,加入数据载入动画效果,开启v-loading,代码如下:
- ...
- el-table v-loading="loading" element-loading-text="正在加载,请稍候.." element-loading-spinner="iconfont icon-loading iconfont-loading load-font-class"
- ...
复制代码
上面的样式除了load-font-class不在iconfont.scss里面,其他的都在。其中load-font-class样式是修改提示的字体大小的,代码如下:
- .load-font-class {
- font-size: 40px;
- }
复制代码
|
|