Vue笔记整理,12.项目-完成tabbar的小图标设置_uviewui tabbar-程序员宅基地

技术标签: web前端(H5)  

一、前言

上一节我们介绍了:vs code工具的一些特殊使用,使用vs code默认集成的Git工具快速提交代码,详细可参考博文:

原创 Vue笔记整理,11.项目-使用vs code默认集成的Git工具快速提交代码 这篇我们将介绍 项目-完成tabbar的小图标设置

 

二、完成tabbar的小图标设置

制作首页App组件

为了方便复习写代码,我们把前面实现的功能记录一下:

1. 完成 Header 区域,使用的是 Mint-UI 中的Header组件

2. 制作底部的 Tabbar 区域,使用的是 MUI 的 Tabbar.html

3. 要在 中间区域放置一个 router-view 来展示路由匹配到的组件

 

tabbar的小图标设置

如下图,我们来看看底部tabbar区域

    

左图是目前我们实现的首页效果,右图是我们要实现的目标效果

两图的底部tabbar区域,目前文字和图标还有不同,我们现在来调一下。

底部tabbar区域,它属于App.vue 这个根组件

1、简单文字修改

改为:首页、会员、购物车、搜索

      <!-- 底部 Tabbar 区域 -->
      <nav class="mui-bar mui-bar-tab">
		<a class="mui-tab-item mui-active" href="#tabbar">
			<span class="mui-icon mui-icon-home"></span>
			<span class="mui-tab-label">首页</span>
		</a>
		<a class="mui-tab-item" href="#tabbar-with-chat">
			<span class="mui-icon mui-icon-email"><span class="mui-badge">9</span></span>
			<span class="mui-tab-label">会员</span>
		</a>
		<a class="mui-tab-item" href="#tabbar-with-contact">
			<span class="mui-icon mui-icon-contact"></span>
			<span class="mui-tab-label">购物车</span>
		</a>
		<a class="mui-tab-item" href="#tabbar-with-map">
			<span class="mui-icon mui-icon-gear"></span>
			<span class="mui-tab-label">搜索</span>
			</a>
      </nav>

2、图标修改为对应的
(1)

首先我们需要把购物车上面的图标,放到会员上面。

即把购物车的样式类,放在会员上

<span class="mui-icon mui-icon-contact"></span>

mui-icon 这是一个基类,肯定不是它。那么是 mui-icon-contact,

把会员上面的样式类 mui-icon-email 删除,替换为 mui-icon-contact 即可

(2)

另外这个计数"9"的小图标,应该是在购物车上面的,那么我们要挪到购物车图标上面来,

<span class="mui-badge">9</span>

即如上代码,把会员上这段样式类代码,移植到购物车即可

(3)

另外搜索的图标也不对,我们不妨猜测一下,搜索的英译一般为 search

把样式类 mui-icon-gear 改为 mui-icon-search

ok,我们猜测是对的,效果如下:

(4)

最后就是购物车的图标不对了,我们也来猜测一下:

把 mui-icon-contact 修改为 mui-icon-car 或 mui-icon-shopcar 或 mui-icon-shopping 都不对

那么怎么办呢?

因为我们制作底部的 Tabbar 区域,使用的是 MUI 的 Tabbar.html,

那么你想知道 MUI 都提供了哪些字体和图标,最好不要自己去猜测,我们可以去看它的例子。

我们之前讲了:MUI 的基本使用,我们打开它的源码文件

mui-master--->examples--->hello-mui--->examples,图标一般为icon,我们按英文字母i 或 搜索icon,

即可快速找到 icons.html、icons-extra.html,

如上图,然后我们用浏览器打开 icons.html,如下图:

然而我们并没有看到购物车的图标,那么我们就来看看 icons-extra.html,

extra额外、扩展的意思,如下图,我们找到了购物车图标

 

浏览器查看元素属性,如:样式类、宽高像素(px)等

右键,检查元素,我们点击如下图,右上角的图标,然后把鼠标放在 购物车图标 上面,

我们可以看到它的宽高为 24x24 像素(px),它使用的样式类为:mui-icon-extra mui-icon-extra-cart

我们点击一下购物车图标,然后双击 mui-icon-extra mui-icon-extra-cart 即可对它进行复制,

然后把购物车的 mui-icon-contact 样式给替换掉

<span class="mui-icon mui-icon-extra mui-icon-extra-cart"><span class="mui-badge">9</span></span>

效果如下:

我们试着把样式类 mui-icon 给去掉,效果如下:

从效果来说,我们还是不能去掉样式类 mui-icon。

那么图标为什么出不来呢?

我们的字体和图标,肯定需要对应的字体和样式,

我们样式类给复制过来了,但是里面的样式或字体,可能没有相应复制过来。

我们在浏览器中,右键,显示网页源代码,我们可以查看 icons-extra.html 的源代码

我们会发现,需要导入一些CSS样式类,其中 mui.min.css 我们已经导入,

还需要导入一个扩展图标的CSS样式类

我们现在查看的是 icons-extra.html 的源代码,../css/icons-extra.css 说明:

在 icons-extra.html 的上一个目录,有一个css目录,它下面有一个 icons-extra.css 文件

         

 

复制  icons-extra.css 文件,把它放到项目的  src/lib/mui/css 目录下,然后在 main.js 里面进行引入

 

重新运行项目,报如下错误,缺少文件 

 

同理我们在同一级目录找到,找到 fonts 目录下的 mui-icons-extra.ttf 文件

把它复制放到项目的  src/lib/mui/fonts 目录下

然后刷新项目页面,效果如下:

 

一个小小的图标其实也涉及到很多操作。我们再来总结一下:

## 制作首页App组件

1. 完成 Header 区域,使用的是 Mint-UI 中的Header组件

2. 制作底部的 Tabbar 区域,使用的是 MUI 的 Tabbar.html

+ 在制作 购物车 小图标的时候,操作会相对多一些:

+ 先把 扩展图标的 css 样式,拷贝到 项目中

+ 拷贝 扩展字体库 ttf 文件,到项目中

+ 为 购物车 小图标 ,添加 如下样式 `mui-icon mui-icon-extra mui-icon-extra-cart`

3. 要在 中间区域放置一个 router-view 来展示路由匹配到的组件

 

 

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/YuDBL/article/details/107336874

智能推荐

p5.js创意编程_p5.js互联网创意编程" pdf-程序员宅基地

p5.js创意编程一、临摹动图1、临摹动图为:2、观察动图会发现共有6行6列的圆,以及每个圆上会有一个动态的正方形。可以发现偶数行偶数列规律相同,奇数行偶数列规律相同,偶数行奇数列规律相同,奇数行技术列规律相同。初始时偶数行偶数列初始时奇数行偶数列初始时偶数行奇数列初始时奇数行奇数列3、开始写代码,首先填背景色,设置后面要画的小正方体的边长,设置时间轴规律,因为我没有找到合适的周期..._p5.js互联网创意编程" pdf

Ubuntu虚拟机关机之后 重新打开黑屏或者花屏-程序员宅基地

解决办法方法一1 tty1 ctrl+alt+f1进入命令行2 sudo dpkg --configure -a 方法二1 tty1 ctrl+alt+f1进入命令行 2 sudo apt-get updatesudo apt-get upgradesudo apt-get dist-upgradesudo apt-get instal...

【postman接口测试】如何把postman获得的token值设置为环境/全局变量_token储存后有值但不能赋全局_好学的小师弟的博客-程序员宅基地

大家好,我是好学的小师弟。今天来和大家分享下接口测试中,如何把postman获得的token值设置为环境/全局变量。我们在测试过程中,经常会遇到有的测试请求需要用到token,但是我们总不能每做一次测试就去先获得一遍token,这样不利于做自动化测试。这里我们就拿一个接口为例,将接口响应中所获得的'nickname'的值设置为变量。token值设置为变量的方法和这个步骤一样步骤:1.首先我们输入url,获得接口响应。2.在tests中写入获取响应body中nickname所对应的v._token储存后有值但不能赋全局

前端框架综述(8)前端_前端开发框架说明-程序员宅基地

前端到底有什么,现在前端各种各样,处于一个百家争鸣的情况,所以现在很多学习前端的人不知道到底应该学习哪一个框架,下面就针对现在前端的整体情况进行宏观描述。_前端开发框架说明

vscode对C#的tasks.json和launch.json文件的配置_/property:generatefullpaths=true-程序员宅基地

tasts.json{ "version": "2.0.0", "tasks": [ { "label": "build", "command": "dotnet", "type": "process", "args": [ "build", "${workspaceFolder}/CsharpTest/Csharp_/property:generatefullpaths=true

随便推点

MyBatis-Plus 自带的更新方法,都有对对象空值进行判空。只有不为空的字段才会进行数据更新。_mybatisplus字段不为空-程序员宅基地

原因因为 MyBatis-Plus 自带的更新方法,都有对对象空值进行判空。只有不为空的字段才会进行数据更新。解决方式在实体类对应的字段上加注解@TableField(strategy=FieldStrategy.IGNORED),忽略null值的判断,例如:@TableField(updateStrategy = FieldStrategy.IGNORED)private String address;示例:1、未加注解(无法设入空值,见代码结果)://实体priv_mybatisplus字段不为空

【Qt】AVFrame转QImage_郭老二的博客-程序员宅基地

FFmpeg的AVFrame转成Qt的QImage//头文件#ifdef __cplusplusextern "C" {#endif#include <libavcodec/avcodec.h>#include <libavcodec/avformat.h>#include <libavcodec/swscale.h>#ifdef __cplusplus}#endif#include <QImage>//变量定义AVFrame *p_avframe转qimage

2020.6.21-参加中国电子学会的全国青少年软件编程等级考试C语言二级-程序员宅基地

在线考试,要求打开电脑摄像头,一个老师监考大约只有5-6个人吧,监考还是挺严的。听Jensen说,电子学会的2级题目,要比昨天工信部的蓝桥杯青少组难很多,起码5道编程题没有全部解答出来,但是60分的及格线是没问题的。而且,电子学会这个等级考最坑娃的一点是没有得“部分分”这一说,全部案例通过了,每道题就得到20分,部分测试数据通过竟然也是只给0分。To die or not to die, 就一线之间,呵呵...

c语言程序 第四章作业,C语言程序设计第四章作业-程序员宅基地

C语言程序设计第四章作业 一、 单选题 (每小题10分,共100分,得分 100 分) 1、以下错误的描述是______。 A、break语句不能用于循环语句switch语句外的任何其它语句 B、在switch语句中使用break语句或continue语句的作用相同 C、在循环语句中使用continue语句是为了结束本次循环,而不是终止整个循环 D、在循环语句中使用break语句是为了使流程跳出循..._c语言编程题5、在循环语句的每次循环中,随机得到 4个英文字母,当 得到的 4 个

SVG配电站接线系统绘制-程序员宅基地

2019独角兽企业重金招聘Python工程师标准>>> ...

Java Study-程序员宅基地

1 关于动态加载机制学习Java比C++更容易理解OOP的思想,毕竟C++还混合了不少面向过程的成分。很多人都能背出来Java语言的特点,所谓的动态加载机制等等。当然概念往往是先记住而后消化的,可有多少人真正去体会过动态加载的机制,试图去寻找过其中的细节呢? 提供大家一个方法: 在命令行窗口运行Java程序的时候,加上这个很有用的参数: java -verbose *.cl..._d:\studyjava%e9%ab%98%e7%ba%a7\day_10_jsoup\target\classes\demo.xml (系统找