https://github.com/iview/iview

下载iview的代码

Layout布局大概的样子

Iview的源代码。Layout


组件比较简单,,里面一个slot

Sider是最复杂的组件

这里用了v-model的语法糖是,是vue里面的

上面的v-model实际就相当于下面的这段,通过事件改变了value的值

了解了以上几个组件的大概的源码 ,下面看一下 常见的几种布局:

实战-后台搭建

17分钟开始

创建一个空的项目,只安装vue-router和iview这两个插件

项目名称:iview-layout

重新安装iview的插件


点击卸载,重新安装

重新安装



出现了plugins文件夹,里面包含iview.js才表示安装成功了iview

页面效果实现

要实现的页面的效果:

先把上面四个菜单的文件创建上

在views文件夹内创建四个文件。

然后在router里面把这几个路由添加进去


注意把home注释掉。要不然引用了 但是没有用 就会报错。

这里就一个router-view

一种实现思路把主题内容放到router-view内。顶部header和左侧slider都在外部 router-view的顶部

另外一种:
在components自定义组件的形式:
中间用slot。
缺点:每个页面内都写一下自定义组件。

本次我们来使用的是第二种方案:在components里面自定义组件,然后在每个页面里面去把它引入进来。

现在components内创建dev-article.vue文件。,里面目前是一个空的模板


我们在main.js里面去注册这个组件。
这样我们就把这个组件全局注册到我们的项目里面。任何一个地方就可以直接饮用,而不是局部的去导入了


测试一下我们的组件:
我们在组件内随便 一个hello。外层要用div去包裹

我们子啊views/App.vue直接引入过来这个全局的组件。

修改整一个地方,这里饮用的路径写错了。修改为dev-article

默认地址是空的:


我们在router内增加一个,当时默认路径的时候,重定向到app这个页面。

这样我们默认就到重定向到app这个页面了

那就说明我的流程就已经通了

剩下就是完善我们的组件 dev-article.vue

首页布局

Layout外层肯定是一个layout组件,所以我们先写一个layout作为它做外层的一个跟组件

左边是sider,为了让它的布局更清晰一点。我们在里面再嵌套个layout

基本的一个布局的效果
Header随着页面的滚动而悬停在顶部的。

背景色浅黑色的阴影,用rgba
Header的样式

顶部的一个效果,但是没有背景颜色

用grid布局对header进行三列的布局
包含在Row标签内。 因为IDE工具对于Col识别不是很友好,所以这里使用i-rol来代替
4+14+4=22 加上左边平移的一列和最后空出来的一列刚好是24列

第一列是Log。在这里是个静态资源 ,我们直接导过来就可以了

显示的太大了 我们需要额外的写一些样式,来调整尺寸

Logo样式

菜单布局


点击后面三个菜单 ,页面上都没有任何东西

头像菜单下拉和通知

32分钟开始

里面三个元素是等分的,所以我们在右侧再嵌套一层栅格
三个等分就是span都是8

把他这个头像的地址复制出来


下拉菜单用的Dropdownmenu这个组件。
属性slot=list指定它为Dropdown的list下拉菜单

设置用的组件Badge


设置和退出之间增加一个间隔线
Divided是一个bool值开启就可以了。

通知的下拉菜单效果

我们会用badage的组件


点击图标进行复制

这样就直接把图标代码复制过来了。


最终代码:size是设置尺寸。
:count是纬度的消息的数量


当然你也可以通过变量的形式去绑定

查看页面效果:
代码是数字图标:

但是数字距离图标的距离有一些问题。
这个时候我们可以使用offset,接收一个数组,20表示距离顶部,4表示距离右侧


直接复制这部分的tab的代码。


直接复制tabs的代码到vscode中进行修改

增加一个居中的class属性

最下面增加一个class的居中。


设置tabs的name值为第一个tab的name值那么默认选中的是第一个tab


高度有一点小

设置一下高度为200就可以了。

纠正错误col列写错了


纠正后的样式:

选择配色 抽屉


抽屉在iview3.1.0版本中,新增加的

官方demo的效果。


在layput的最下方增加抽屉的标签。用v-model绑定一个变量。

给icon图标增加点击事件。

这样当点击color的icon图标聚会显示抽屉了


抽屉默认不显示 关闭的按钮

这样就不带删除的按钮了。

优化代码:

优化按钮下面的灰色的线条

我们可以对css进行替换就可以了。F12查看这里的css样式

这里是一个:after的伪类

这里是一个1像素的高的灰色的线的背景

视频覆盖这个css属性为display:none就可以了。但是我本地的代码始终有问题。

视频中的效果:

继续开发左侧的sider组件

先给sider写css 的样式

v-mode绑定的值

编写sider的css样式

Option1被挡住了。那么我们给menu增加css 的样式。


点击收起的时候让options名字消失 光显示icon的图标

使用css 来控制,这是最简单的方法

通过isCollapsied来判断。Clas属性cider-hide是否显示

定位menuItem中的span标签进行隐藏

按照层级关系去隐藏



展开的效果

面包屑组件

增加一个calss属性,并且动态设置另外一个class属性

Left是左侧的sider的宽度
距离左侧240是sider的宽度
距离顶部是header高度
增加一个内间距padidng 为16px
然后增加一个动画的效果 all是对所有的元素 使用动画。
0.2s秒的延迟,效果是eas-in-out的效果


增加一个card的占位。然后加了style的css属性
Slot就是每个页面要定义的内容了。

Slot承载我们每个页面核心内容的地方


51分钟面包屑组件

iView 实战系列教程(21课时)_4.iView 实战教程之布局篇(二)的更多相关文章

  1. iView 实战系列教程(21课时)_1.iView 实战教程之配置篇

    1.iView 实战教程之配置篇 点击添加插件,. 选中后安装 全部导入还是按需导入. 2.是否需要自定义主题变量 3.多语言的设置. 这里我们全部选择为默认 然后点击继续. 启动项目 入口文件导入了 ...

  2. iView 实战系列教程(21课时)_3.iView 实战教程之布局篇(一)

    Grid布局 先了解一下iview的24栅格布局 清理一下App.vue 然后从iview的color里面获取推荐的背景色 我们先渲染栅格 24列,然后再讲解他是一个什么东西: 栅格外面row包裹的, ...

  3. iView 实战系列教程(21课时)_2.iView 实战教程之导航、路由、鉴权篇

    在c盘创建一个iview-router的项目 . 然后使用默认的配置 跳过 添加vue-router的插件 编译我们的文件. 编译好之后,我们启动App 默认的页面就打开了. 默认两个路由一个是abo ...

  4. iView 实战系列教程(21课时)_1.iView 实战教程之配置篇_图片优化

    首先需要安装vue cli 3.0版本 点击添加插件, 输入iview 选中后安装 全部导入还是按需导入. 2.是否需要自定义主题变量 3.多语言的设置. 这里我们全部选择为默认 然后点击继续. 启动 ...

  5. iView 实战系列教程(21课时)_汇总贴

    iView 实战系列教程(21课时)_汇总贴 课程地址; https://segmentfault.com/ls/1650000016424063 iView 实战系列教程(21课时)_1.iView ...

  6. ElasticSearch实战系列三: ElasticSearch的JAVA API使用教程

    前言 在上一篇中介绍了ElasticSearch实战系列二: ElasticSearch的DSL语句使用教程---图文详解,本篇文章就来讲解下 ElasticSearch 6.x官方Java API的 ...

  7. ElasticSearch实战系列六: Logstash快速入门和实战

    前言 本文主要介绍的是ELK日志系统中的Logstash快速入门和实战 ELK介绍 ELK是三个开源软件的缩写,分别表示:Elasticsearch , Logstash, Kibana , 它们都是 ...

  8. ElasticSearch实战系列一: ElasticSearch集群+Kinaba安装教程

    前言 本文主要介绍的是ElasticSearch集群和kinaba的安装教程. ElasticSearch介绍 ElasticSearch是一个基于Lucene的搜索服务器,其实就是对Lucene进行 ...

  9. ElasticSearch实战系列二: ElasticSearch的DSL语句使用教程---图文详解

    前言 在上一篇中介绍了ElasticSearch集群和kinaba的安装教程,本篇文章就来讲解下 ElasticSearch的DSL语句使用. ElasticSearch DSL 介绍 Elastic ...

随机推荐

  1. 剑指offer-复杂链表的复制-链表-python

    题目描述 输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head.(注意,输出结果中请不要返回参数中的节点引用,否 ...

  2. es7.2版本安装ik分词

    (一)到官网下载https://github.com/medcl/elasticsearch-analysis-ik对应版本的ik(直接下载releases版本,避免maven打包!!!如果不是这个版 ...

  3. django基础篇04-自定义simple_tag和fitler

    自定义simple_tag app目录下创建templatetags目录 templatetags目录下创建xxpp.py 创建template对象register,注意变量名必须为register ...

  4. 图解Qt安装(Windows平台)

    http://c.biancheng.net/view/3858.html 本节介绍 Qt 5.9.0 在 Windows 平台下的安装,请提前下载好 Qt 5.9.0.不知道如何下载 Qt 的读者请 ...

  5. bzoj3631: [JLOI2014]松鼠的新家(树上差分)

    题目链接:https://www.lydsy.com/JudgeOnline/problem.php?id=3631 题目大意:给定含有n个顶点的树,给定走遍整棵树顺序的序列a[1],a[2],a[3 ...

  6. hdu 1087 最大递增子序列和

    #include <bits/stdc++.h> #define PI acos(-1.0) #define mem(a,b) memset((a),b,sizeof(a)) #defin ...

  7. java并发学习--第八章 JDK 8 中线程优化的新特性

    一.新增原子类LongAdder LongAdder是JDK8中AtomicLong的增强工具类,它与AtomicLong最大的不同就是:在多线程场景下,LongAdder中对单一的变量进行拆分成多个 ...

  8. 前端每日实战:12# 视频演示如何用纯 CSS 创作一种文字断开的交互特效

    效果预览 按下右侧的"点击预览"按钮在当前页面预览,点击链接全屏预览. https://codepen.io/zhang-ou/pen/LmjNgL 可交互视频教程 此视频是可以交 ...

  9. 基于http方式搭建YUM源服务器

    基于http方式搭建YUM源服务器 (2012-09-21 11:59:14) 转载▼ 标签: yum linux lnmp lamp http 分类: Linux 为了方便公司80多台Linux服务 ...

  10. LeetCode--148--排序链表(python)

    在 O(n log n) 时间复杂度和常数级空间复杂度下,对链表进行排序. 示例 1: 输入: 4->2->1->3输出: 1->2->3->4示例 2: 输入: ...