700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > elementUI侧边栏实现响应式 响应式侧边栏

elementUI侧边栏实现响应式 响应式侧边栏

时间:2023-05-13 04:07:27

相关推荐

elementUI侧边栏实现响应式 响应式侧边栏

实现思路:准备两份aside侧边栏,借助display和媒体查询实现响应式。

以下是完整代码:

<template><el-container><el-header>头部</el-header><el-container><!-- 准备两份aside侧边栏 --><!-- 利用isCollapse动态控制侧边栏的宽度 --><el-aside :width="isCollapse ? '64px' : '200px'" class="show"><!-- 切换侧边栏的显示与隐藏效果 --><div class="toggle" @click="toggleCollapse">|||</div><!-- collapse: 是否水平折叠收起菜单 --><!-- collapse-transition:开启折叠动画 --><el-menu :collapse="isCollapse" :collapse-transition="false" default-active="2" class="el-menu-vertical-demo" @open="handleOpen"@close="handleClose" background-color="#333744" text-color="#fff" active-text-color="#ffd04b"><el-submenu index="1"><template slot="title"><i class="el-icon-location"></i><span>导航一</span></template><el-menu-item index="1-4">选项1</el-menu-item></el-submenu></el-menu></el-aside><!-- 第二份aside侧边栏 --><!-- 侧边栏宽度取值与第一份相反 --><el-aside :width="isCollapse ? '200px' : '64px'" class="hide"><!-- 绑定相同的事件 --><div class="toggle" @click="toggleCollapse">|||</div><!-- 这里collapse取值相反 --><!-- collapse-transition:开启折叠动画 --><el-menu :collapse="!isCollapse" :collapse-transition="false" default-active="2" class="el-menu-vertical-demo" @open="handleOpen"@close="handleClose" background-color="#333744" text-color="#fff" active-text-color="#ffd04b"><el-submenu index="1"><template slot="title"><i class="el-icon-location"></i><span>导航一</span></template><el-menu-item index="1-4">选项1</el-menu-item></el-submenu></el-menu></el-aside><el-main>主体</el-main></el-container></el-container></template><script>export default {name: 'App',data () {return {// 控制侧边栏的显示与隐藏isCollapse: false // 默认显示侧边栏}},methods: {// 控制侧边栏的显示与隐藏toggleCollapse () {this.isCollapse = !this.isCollapse}}}</script><style lang="less">html,body,.el-container {margin: 0;height: 100%;}.el-container {.el-header {padding: 0;background-color: #373d41;color: #fff;}.el-aside {background-color: #333744;// 默认只显示一份aside侧边栏&.show {display: block;}&.hide {display: none;}// 媒体查询,实现响应式@media (max-width: 992px) {// 取值与上面相反即可&.show {display: none;}// 取值与上面相反即可&.hide {display: block;}}.toggle {letter-spacing: 0.2em;color: #fff;text-align: center;line-height: 24px;background-color: #4a5064;cursor: pointer;}.el-menu {border-right: none;}}.el-main {background-color: #eaedf1;}}</style>

效果如下:

注:媒体查询设置的边界值是992px,小于992px折叠,大于992px展开。

源码地址:elementUI侧边栏响应式布局: elementUI侧边栏响应式布局

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。