vue2+element-ui,el-aside侧边栏容器收缩与展开

news/2025/1/2 16:37:26/

一、概览

实现效果如下:

二、项目环境

1、nodejs版本

node -v
v16.16.0

2、npm版本

npm -v
npm WARN config global `--global`, `--local` are deprecated. Use `--location=global` instead.
8.15.0

3、vue脚手架版本

vue -V
@vue/cli 5.0.8

三、创建vue项目

1、创建名为vuetest的项目

vue create vuetest

选择Default([Vue2] babel,eslint) 

 

2、切换到项目目录,启动项目

cd vuetest
npm run serve

 

3、使用浏览器预览 

http://localhost:8080/

四、使用Visual Studio Code打开项目

1、查看源码

2、安装element-ui

官网https://element.eleme.cn/ 

npm安装

npm i element-ui -S

3、在main.js中引用安装好的element-ui

4、查看element-ui官网,使用Container 布局容器方便快速搭建页面的基本结构

 

选择常见页面结构样式 :

<el-container><el-header>Header</el-header><el-container><el-aside width="200px">Aside</el-aside><el-container><el-main>Main</el-main><el-footer>Footer</el-footer></el-container></el-container>
</el-container>

修改App.vue文件:

<template><div id="app"><el-container><el-header>Header</el-header><el-container><el-aside width="200px">Aside</el-aside><el-container><el-main>Main</el-main><el-footer>Footer</el-footer></el-container></el-container></el-container></div>
</template><script>
// import HelloWorld from './components/HelloWorld.vue'export default {name: 'App',components: {// HelloWorld}
}
</script><style>
.el-header, .el-footer {background-color: #B3C0D1;color: #333;text-align: center;line-height: 60px;}.el-aside {background-color: #D3DCE6;color: #333;text-align: center;line-height: 200px;}.el-main {background-color: #E9EEF3;color: #333;text-align: center;line-height: 160px;}
</style>

启动项目,预览效果:

npm run serve

访问http://localhost:8080/此时发现结构并没有撑满,在assets中新建一个css文件夹,新建global.css文件,并在main.js中引用

html,
body,
#app{margin: 0;padding: 0;height: 100%;width: 100%;
}

在App.vue文件中外层el-container中添加class="container"并设置高度为100% 

此时页面显示正常了!

五、实现el-aside侧边栏收缩与展开效果

1、修改App.vue文件

<template><div id="app"><el-container class="container"><el-header>Header</el-header><el-container><el-aside class="aside_main" :class="{aside_main_show:!asideStatus}">Aside</el-aside><el-container><el-main class="main_cont"><!-- aside侧边栏按钮 --><div class="aside_open_close" @click="asidechange"><i class="el-icon-arrow-left" v-if="aside_open_close"></i><i class="el-icon-arrow-right" v-else></i></div></el-main><el-footer>Footer</el-footer></el-container></el-container></el-container></div>
</template>

2、添加按钮点击事件 

export default {name: 'App',components: {// HelloWorld},data(){return{asideStatus:false,aside_open_close:false,}},methods:{// 侧边栏收缩与展开asidechange(){this.asideStatus = !this.asideStatusif(this.asideStatus){setTimeout(()=>{this.aside_open_close =true},500)}else{setTimeout(()=>{this.aside_open_close =false},500)}}}
}

3、修改样式 

<style>
.container{height: 100%;
}
.el-header, .el-footer {background-color: #B3C0D1;color: #333;text-align: center;line-height: 60px;}/* .el-aside {background-color: #D3DCE6;color: #333;text-align: center;line-height: 200px;} *//* 侧边栏样式 */.aside_main{width: 200px !important;transition: width 0.5s;}.aside_main_show{width: 0px !important;}/* .el-main {background-color: #E9EEF3;color: #333;text-align: center;line-height: 160px;} */.main_cont{position: relative;margin: 0;padding: 0;background-color: #E9EEF3;}/* 侧边栏按钮样式 */.aside_open_close{position: absolute;left: 0;top: 50%;width: 16px;height: 60px;line-height: 60px;color: #fff;background-color: #2A333A;border-radius: 0 6px 6px 0;font-size: 20px;z-index: 1000;cursor: pointer;}.aside_open_close:hover{background-color: #FF8E2B;color: #fff;}
</style>

4、预览效果

完结!!!

源码下载:https://download.csdn.net/download/im_api/87457462


http://www.ppmy.cn/news/70558.html

相关文章

Sui基金会宣布面向APAC的Office Hours计划

诚挚邀请构建者与Sui基金会的Growth团队一起开启“Office Hours”计划&#xff0c;共同努力&#xff0c;迈向业务增长的下一步。 Sui基金会致力于推动Sui在全球范围内的普及。为此&#xff0c;我们通过积极支持开发人员的开发者资助计划、Builder House和大使计划在Sui上开始…

【华为OD机试真题 Python】食堂消费记录

前言:本专栏将持续更新互联网大厂机试真题,并进行详细的分析与解答,包含完整的代码实现,希望可以帮助到正在努力的你。关于大厂机试流程、面经、面试指导等,如有任何疑问,欢迎联系我,wechat:steven_moda;email:nansun0903@163.com;备注:CSDN。 题目描述 实现一个简…

正则表达式的基本语法以及技巧和示例

正则表达式&#xff08;Regular Expression&#xff09;是一种强大的文本模式匹配工具&#xff0c;它使用特定的语法规则来描述和匹配字符串。在实际应用中&#xff0c;正则表达式可以用于搜索、替换、验证和分割文本数据。本文将详细解释正则表达式的语法和常用的使用示例。 …

简答题题集

简答题&#xff1a; 1.测试和开发如何配合工作&#xff0c;即测试何时介入测试工作&#xff1f; 测试工作应该覆盖需求分析、概要设计、详细设计、编码等前期阶段&#xff0c;而不应该在系统开发初步完成后才开始。 2.软件测试的对象&#xff1a;正确的依据应该是需求规格说明书…

Linux命令·wget

Linux系统中的wget是一个下载文件的工具&#xff0c;它用在命令行下。对于Linux用户是必不可少的工具&#xff0c;我们经常要下载一些软件或从远程服务器恢复备份到本地服务器。wget支持HTTP&#xff0c;HTTPS和FTP协议&#xff0c;可以使用HTTP代理。所谓的自动下载是指&#…

使用Spring Cloud Stream集成消息中间件:简化消息处理和异步处理流程

使用Spring Cloud Stream集成消息中间件&#xff1a;简化消息处理和异步处理流程 一、概述1 什么是Spring Cloud Stream2 Spring Cloud Stream与消息中间件的关系 二、Spring Cloud Stream的核心概念1 Binder2 Destination3 Channel4 Source和Sink 三、Spring Cloud Stream的基…

自学黑客(网络安全),看完这篇,再去追你的黑客梦!

今天专题是替一些想入门网络安全&#xff0c;但还迷茫不知所措的同学解一解惑。想30天零基础入门网络安全&#xff0c;这些你一定要搞清楚。 一、学习网络安全容易造成的误区 1、把编程当作目的&#xff0c;忽略了它的工具职能 千万不要抱着“以编程为目的&#xff0c;再开始…

常见电子元器件和电路

目录 常见电子元器件一览表(字母标志)NTC(负温度系数热敏电阻)压敏电阻X2电容(抑制电源电磁干扰用电容器)泄放电阻共模电压共模电感整流桥滤波电容RCD吸收二极管Y电容整流器的原理输出整流肖特基二极管 功率晶体管&#xff08;GTR&#xff0c;三极管)双极型晶体管(BJT&#xff…