一、概述

一般后台页面的顶部导航栏和左侧导航栏一般是固定的,我们可以布局成下面的样式

二、整体项目布局

因为我们的首页是个公共的组件,点击首页,会员管理,都不会变,所以我们可以放在一个单独文件夹里面。

需要分别对头部,左侧区域,主区域拆分成不同的文件。

创建项目

创建一个全新的ElementUI 项目,请参考链接:

https://www.cnblogs.com/xiao987334176/p/14187889.html

在src目录下,创建views文件夹,在里面再创建Layout文件夹,最后创建index.vue

最终src目录结构如下:

./
├── App.vue
├── assets
│   └── logo.png
├── components
│   └── HelloWorld.vue
├── main.js
├── router
│   └── index.js
└── views└── Layout└── index.vue

修改views/Layout/index.vue,完整内容如下:

<template><div><div class="header">头部</div><div class="navbar">左侧区域</div><div class="main">主区域</div></div>
</template><style scoped>/* 头部样式 */.header {position: absolute;line-height: 50px;top: 0px;left: 0px;right: 0px;background-color: #2d3a4b;}/* 左侧样式 */.navbar {position: absolute;width: 200px;top: 50px;  /* 距离上面50像素 */left: 0px;bottom: 0px;overflow-y: auto; /* 当内容过多时y轴出现滚动条 */background-color: #545c64;}/* 主区域 */.main {position: absolute;top: 50px;left: 200px;bottom: 0px;right: 0px;  /* 距离右边0像素 */padding: 10px;overflow-y: auto; /* 当内容过多时y轴出现滚动条 *//* background-color: red; */}
</style>

View Code

修改router/index.js

import Vue from 'vue'
import Router from 'vue-router'
import HelloWorld from '@/components/HelloWorld'
import Layout from '@/views/Layout'  // 默认加载index.vueVue.use(Router)export default new Router({mode: 'history',  //去掉url中的#routes: [{path: '/',name: 'layout',  // 路由名称component: Layout  // 组件对象}]
})

修改App.vue,注释多余的代码

<template><div id="app">
<!--    <img src="./assets/logo.png">--><router-view/></div>
</template><script>
export default {name: 'App'
}
</script><style>
/*#app {*/
/*  font-family: 'Avenir', Helvetica, Arial, sans-serif;*/
/*  -webkit-font-smoothing: antialiased;*/
/*  -moz-osx-font-smoothing: grayscale;*/
/*  text-align: center;*/
/*  color: #2c3e50;*/
/*  margin-top: 60px;*/
/*}*/
</style>

View Code

运行vue项目,访问首页,效果如下:

布局拆分

上面已经实现了3个区域的布局,现在需要将3个区域拆分成不同的vue文件,方便后续的维护。

在src/views/Layout目录下,创建文件夹components,并在此文件夹创建3个文件AppHeader.vue,Appmain.vue,Appnavbar.vue

最终,src目录结构如下:

./
├── App.vue
├── assets
│   └── logo.png
├── components
│   └── HelloWorld.vue
├── main.js
├── router
│   └── index.js
└── views└── Layout├── components│   ├── AppHeader.vue│   ├── Appmain.vue│   └── Appnavbar.vue└── index.vue

views/Layout/components/AppHeader.vue

<template><div class="header">头部</div>
</template><script>export default {name: "AppHeader"}
</script><style scoped></style>

View Code

views/Layout/components/Appmain.vue

<template><div class="main">主区域</div>
</template><script>export default {name: "AppMain"}
</script><style scoped></style>

View Code

views/Layout/components/Appnavbar.vue

<template><div class="navbar">左侧区域</div>
</template><script>export default {name: "AppNavbar"}
</script><style scoped></style>

View Code

views/Layout/index.vue

<template><div><app-header></app-header><app-navbar></app-navbar><app-main></app-main></div>
</template><script>import AppHeader from "./components/AppHeader"import AppNavbar from "./components/AppNavbar"import AppMain from "./components/AppMain"// 导入子组件,缩写格式 AppHeader: AppHeaderexport default {components: { AppHeader, AppNavbar, AppMain }  // 有s};</script><style scoped>/* 头部样式 */.header {position: absolute;line-height: 50px;top: 0px;left: 0px;right: 0px;background-color: #2d3a4b;}/* 左侧样式 */.navbar {position: absolute;width: 200px;top: 50px;  /* 距离上面50像素 */left: 0px;bottom: 0px;overflow-y: auto; /* 当内容过多时y轴出现滚动条 */background-color: #545c64;}/* 主区域 */.main {position: absolute;top: 50px;left: 200px;bottom: 0px;right: 0px;  /* 距离右边0像素 */padding: 10px;overflow-y: auto; /* 当内容过多时y轴出现滚动条 *//* background-color: red; */}
</style>

View Code

刷新我们的页面,页面还是之前的样式,则我们的抽取没有问题

本文参考链接:

https://www.cnblogs.com/zouzou-busy/p/13080665.html

ElementUI 整体页面布局相关推荐

  1. xml信息管理系统_WPF信息管理系统项目实战教程二:使用XAML实现页面布局

    首页面布局设计 XAML(Extensible Application Markup Language),可扩展应用程序标记语言的使用使得C#桌面应用程序开发前后端实现真正分离.前端人员可使用该标记语 ...

  2. element-UI栅格系统缩放,导致页面布局效果bug? 叠加?错位?

    这里以此代码片段为例说明一则bug,请bug对号入座.(bug截图省略) 页面的栅格缩放,导致页面布局发生叠加错位? 一.坑1 · 引言: (先来一则bug代码) <el-card v-for= ...

  3. html5页面整体布局,HTML5页面布局 网页的基本结构

    这篇HTML5页面布局我们来学习组成HTML5网页的基本结构都包含了哪些内容,首先先来看下源代码. 欢迎关注头条号/自学编程 hello world 以上就是一个HTML5网页的最基本结构. 下面我们 ...

  4. div、Flex、element-ui-layout页面布局

    div.Flex.element-ui-layout页面布局 一.div页面布局 1.页面布局标签属性 2.定位属性 3.盒子模型 (1)标准盒模型 (2)怪异盒模型 二.Flex页面布局 1.基本概 ...

  5. SharePoint 2013 入门教程之创建页面布局及页面

    原文:SharePoint 2013 入门教程之创建页面布局及页面 在SharePoint的使用过程中,页面布局和页面时很重要的两个概念,主要用于数据个性化展示,下面,我们简单介绍一下SharePoi ...

  6. vs2005 + ASP.NET 页面布局应注意问题及方法步骤

    假如是一个人负责前后台,而又对后台开发比较在行,可以从后到前,也就是-- 1.用vs开发业务功能,注重"尽量不要"为服务器控件设置任何样式(字体.颜色.长宽.坐标.边框.间隔.空白 ...

  7. Abiword页面布局

    Abiword页面布局 AP_Win32FrameImpl::_DocumentWndProc 文档窗口过程函数 在WM_SIZE消息中设置FV_View对象的整体尺寸,跟窗体的:设备单位 转换成:布 ...

  8. 关于页面布局间距使用的经验之谈

    在页面布局的时候遇到一个问题在此记录. 有如下布局需求.页面上大多数都是这样的,一块一块从上到下排列. 块与块之间的间距需要固定由谁来负责.例如第一个块和第二个块之间的间距,就需要第二个块的margi ...

  9. [html] 页面布局时你使用最多的标签是什么?div吗?在什么情况下会使用到div?

    [html] 页面布局时你使用最多的标签是什么?div吗?在什么情况下会使用到div? 页面的的整体布局使用<header> <main> <aside> < ...

最新文章

  1. ORACLE11g 前期安装环境配置
  2. springboot多模块项目,无法找到另一个模块的实体类
  3. 【C++】写一个类重载加减乘除取余运算符
  4. c语言链表代码大全,C语言实现链表
  5. 从一个深度图里面导出NARF特征
  6. 【Git】Git提交代码到GitHub的基本操作流程
  7. 一个成功的BI项目实施需要注意哪些?
  8. JavaScript进阶【二】JavaScript 严格模式(use strict)的使用
  9. 使用HTML5,CSS3和jQuery增强网站用户体验
  10. 如何关闭计算机远程桌面连接,怎么用命令行开启和关闭远程桌面?
  11. gaussian软件linux版本,Gaussian 09的版本与平台。
  12. wps中设置公式编辑器字体颜色
  13. 有关vc++ 时钟程序的学习与体会
  14. 提示:The word is not correctly spelled 解决方法
  15. 第一个很土很土很可爱的程序
  16. 高德vue-amap使用(一)标记点位获取地址及经纬度
  17. 6.2、C++的内联函数、函数重载、局部变量和全局变量
  18. matplotlib中箱线图、极线图、阶梯图的绘制
  19. coreldraw的线条怎么变成圆头_如何PS包装盒平面图改为立体图
  20. 关于Linux的应用层定时器

热门文章

  1. 天视通支持海康威视摄像头吗_海康威视突然做电脑,到底有胜算吗?
  2. 四川省建设厅关于推行建筑工人实名制管理工作的通知〔2018〕613号
  3. 翻译:数据页面和数据行
  4. 庖丁解牛linux内核,庖丁解牛Linux网络核心
  5. 这些坑别踩!游戏随机地图生成开发经验分享
  6. 使用Qt5.7.0 VS2015版本生成兼容XP的可执行程序
  7. Python 医学知识图谱问答系统(一),建立医学知识图谱,基于neo4j知识图谱的医学问答体系
  8. C1实训-动态令牌(二次验证码)原理及实现
  9. 基于Vue+Element Plus实现快速导航
  10. 9_python笔记-函数