diff --git a/src/components/ScrollBar/index.vue b/src/components/ScrollBar/index.vue
new file mode 100644
index 0000000000000000000000000000000000000000..8ef203bee1cfdc7b386a1f9e857841c4d1c68745
--- /dev/null
+++ b/src/components/ScrollBar/index.vue
@@ -0,0 +1,54 @@
+<template>
+  <div class='scroll-container' ref='scrollContainer' @mousewheel="handleScroll">
+    <div class='scroll-wrapper' ref='scrollWrapper' :style="{top: top + 'px'}">
+      <slot></slot>
+    </div>
+  </div>
+</template>
+
+<script>
+const delta = 15
+export default {
+  name: 'scrollBar',
+  data() {
+    return {
+      top: 0
+    }
+  },
+  methods: {
+    handleScroll(e) {
+      e.preventDefault()
+      const $container = this.$refs.scrollContainer
+      const $containerHeight = $container.offsetHeight
+      const $wrapper = this.$refs.scrollWrapper
+      const $wrapperHeight = $wrapper.offsetHeight
+      if (e.wheelDelta > 0) {
+        this.top = Math.min(0, this.top + e.wheelDelta)
+      } else {
+        if ($containerHeight - delta < $wrapperHeight) {
+          if (this.top < -($wrapperHeight - $containerHeight + delta)) {
+            this.top = this.top
+          } else {
+            this.top = Math.max(this.top + e.wheelDelta, $containerHeight - $wrapperHeight - delta)
+          }
+        } else {
+          this.top = 0
+        }
+      }
+    }
+  }
+}
+</script>
+
+<style rel="stylesheet/scss" lang="scss" scoped>
+.scroll-container {
+  position: relative;
+  width: 100%;
+  height: 100%;
+  background-color: #545c64;
+  .scroll-wrapper {
+    position: absolute;
+     width: 100%;
+  }
+}
+</style>
diff --git a/src/components/ScrollPane/index.vue b/src/components/ScrollPane/index.vue
index 667082a78323f61bd5463d14301bdc37c0985e44..dc74400d1a560e421d67264601f6a233e1ce540d 100644
--- a/src/components/ScrollPane/index.vue
+++ b/src/components/ScrollPane/index.vue
@@ -21,7 +21,6 @@ export default {
       const $containerWidth = $container.offsetWidth
       const $wrapper = this.$refs.scrollWrapper
       const $wrapperWidth = $wrapper.offsetWidth
-      console.log($containerWidth, $wrapperWidth)
       if (e.wheelDelta > 0) {
         this.left = Math.min(0, this.left + e.wheelDelta)
       } else {
diff --git a/src/styles/sidebar.scss b/src/styles/sidebar.scss
index eeb56142c02703cad7695af7cd6a118fbb03b63a..1a85482858af47a964753cdef277d17e8690d88c 100644
--- a/src/styles/sidebar.scss
+++ b/src/styles/sidebar.scss
@@ -14,10 +14,6 @@
     bottom: 0;
     left: 0;
     z-index: 1001;
-    overflow-y: auto;
-    &::-webkit-scrollbar {
-      display: none
-    }
     a {
       display: inline-block;
       width: 100%;
@@ -27,12 +23,13 @@
     }
     .el-menu {
       border: none;
+      width: 100%;
     }
   }
   .hideSidebar {
-    .sidebar-container {
+    .sidebar-container,.sidebar-container .el-menu {
       width: 36px!important;
-      overflow: inherit;
+      // overflow: inherit;
     }
     .main-container {
       margin-left: 36px;
diff --git a/src/views/layout/components/Navbar.vue b/src/views/layout/components/Navbar.vue
index ee6d5c6af44f61620d8fd62e3427fa2cebb1d7c7..33b3c18dd8606d367e895bc7d3b1ad22e02c1c7e 100644
--- a/src/views/layout/components/Navbar.vue
+++ b/src/views/layout/components/Navbar.vue
@@ -2,7 +2,7 @@
   <el-menu class="navbar" mode="horizontal">
     <hamburger class="hamburger-container" :toggleClick="toggleSideBar" :isActive="sidebar.opened"></hamburger>
 
-    <levelbar></levelbar>
+    <levelbar class="levelbar-container"></levelbar>
 
     <div class="right-menu">
 
@@ -111,6 +111,9 @@ export default {
     float: left;
     padding: 0 10px;
   }
+  .levelbar-container{
+    float: left;
+  }
   .errLog-container {
     display: inline-block;
     vertical-align: top;
diff --git a/src/views/layout/components/Sidebar.vue b/src/views/layout/components/Sidebar.vue
index 301a86ee43cc597b42369b09c7225ff68a4d7b8a..a8028d0d52349f0a64bae1fa13a1ec7b42e50258 100644
--- a/src/views/layout/components/Sidebar.vue
+++ b/src/views/layout/components/Sidebar.vue
@@ -1,14 +1,19 @@
 <template>
-  <el-menu mode="vertical" unique-opened :default-active="$route.path" :collapse="isCollapse" background-color="#545c64" text-color="#fff" active-text-color="#ffd04b">
-    <sidebar-item :routes='permission_routers'></sidebar-item>
-  </el-menu>
+  <scroll-bar>
+    <el-menu mode="vertical" unique-opened :default-active="$route.path" :collapse="isCollapse" background-color="#545c64" text-color="#fff"
+      active-text-color="#ffd04b">
+      <sidebar-item :routes='permission_routers'></sidebar-item>
+    </el-menu>
+  </scroll-bar>
 </template>
 
 <script>
 import { mapGetters } from 'vuex'
 import SidebarItem from './SidebarItem'
+import ScrollBar from '@/components/ScrollBar'
+
 export default {
-  components: { SidebarItem },
+  components: { SidebarItem, ScrollBar },
   computed: {
     ...mapGetters([
       'permission_routers',