sidebar.scss 3.15 KB
Newer Older
Pan's avatar
Pan committed
1
#app {
Pan's avatar
Pan committed
2

3
  // 主体区域 Main container
Pan's avatar
Pan committed
4 5
  .main-container {
    min-height: 100%;
Pan's avatar
Pan committed
6
    transition: margin-left .28s;
Pan's avatar
Pan committed
7
    margin-left: $sideBarWidth;
8
    position: relative;
Pan's avatar
Pan committed
9
  }
Pan's avatar
Pan committed
10

11
  // 侧边栏 Sidebar container
Pan's avatar
Pan committed
12
  .sidebar-container {
13
    transition: width 0.28s;
Pan's avatar
Pan committed
14
    width: $sideBarWidth !important;
Pan's avatar
Pan committed
15 16
    height: 100%;
    position: fixed;
Pan's avatar
Pan committed
17
    font-size: 0px;
Pan's avatar
Pan committed
18 19 20 21
    top: 0;
    bottom: 0;
    left: 0;
    z-index: 1001;
Pan's avatar
Pan committed
22
    overflow: hidden;
Pan's avatar
Pan committed
23

24 25 26 27
    //reset element-ui css
    .horizontal-collapse-transition {
      transition: 0s width ease-in-out, 0s padding-left ease-in-out, 0s padding-right ease-in-out;
    }
Pan's avatar
Pan committed
28

29
    .scrollbar-wrapper {
Pan's avatar
Pan committed
30 31
      overflow-x: hidden !important;

32 33 34 35
      .el-scrollbar__view {
        height: 100%;
      }
    }
Pan's avatar
Pan committed
36

37 38 39 40
    .el-scrollbar__bar.is-vertical {
      right: 0px;
    }

41 42 43
    .is-horizontal {
      display: none;
    }
Pan's avatar
Pan committed
44

Pan's avatar
Pan committed
45 46 47
    a {
      display: inline-block;
      width: 100%;
48
      overflow: hidden;
Pan's avatar
Pan committed
49
    }
Pan's avatar
Pan committed
50

Pan's avatar
Pan committed
51 52 53
    .svg-icon {
      margin-right: 16px;
    }
Pan's avatar
Pan committed
54

Pan's avatar
Pan committed
55 56
    .el-menu {
      border: none;
57
      height: 100%;
Pan's avatar
Pan committed
58
      width: 100% !important;
Pan's avatar
Pan committed
59
    }
Pan's avatar
Pan committed
60

61 62 63 64 65 66 67 68
    // menu hover
    .submenu-title-noDropdown,
    .el-submenu__title {
      &:hover {
        background-color: $menuHover !important;
      }
    }

Pan's avatar
Pan committed
69
    .is-active>.el-submenu__title {
70 71 72 73 74 75 76 77 78 79 80
      color: $subMenuActiveText !important;
    }

    & .nest-menu .el-submenu>.el-submenu__title,
    & .el-submenu .el-menu-item {
      min-width: $sideBarWidth !important;
      background-color: $subMenuBg !important;

      &:hover {
        background-color: $subMenuHover !important;
      }
81
    }
Pan's avatar
Pan committed
82
  }
Pan's avatar
Pan committed
83

Pan's avatar
Pan committed
84
  .hideSidebar {
Pan's avatar
Pan committed
85 86
    .sidebar-container {
      width: 36px !important;
Pan's avatar
Pan committed
87
    }
Pan's avatar
Pan committed
88

Pan's avatar
Pan committed
89 90 91
    .main-container {
      margin-left: 36px;
    }
Pan's avatar
Pan committed
92

Pan's avatar
Pan committed
93
    .submenu-title-noDropdown {
Pan's avatar
Pan committed
94
      padding-left: 10px !important;
Pan's avatar
Pan committed
95
      position: relative;
Pan's avatar
Pan committed
96

Pan's avatar
Pan committed
97 98
      .el-tooltip {
        padding: 0 10px !important;
Pan's avatar
Pan committed
99 100
      }
    }
Pan's avatar
Pan committed
101

Pan's avatar
Pan committed
102
    .el-submenu {
103
      overflow: hidden;
Pan's avatar
Pan committed
104

Pan's avatar
Pan committed
105
      &>.el-submenu__title {
Pan's avatar
Pan committed
106
        padding-left: 10px !important;
Pan's avatar
Pan committed
107

Pan's avatar
Pan committed
108 109 110 111 112
        .el-submenu__icon-arrow {
          display: none;
        }
      }
    }
Pan's avatar
Pan committed
113

114 115 116 117 118 119 120 121 122 123 124 125 126
    .el-menu--collapse {
      .el-submenu {
        &>.el-submenu__title {
          &>span {
            height: 0;
            width: 0;
            overflow: hidden;
            visibility: hidden;
            display: inline-block;
          }
        }
      }
    }
Pan's avatar
Pan committed
127
  }
Pan's avatar
Pan committed
128

Pan's avatar
Pan committed
129
  .el-menu--collapse .el-menu .el-submenu {
Pan's avatar
Pan committed
130
    min-width: $sideBarWidth !important;
Pan's avatar
Pan committed
131
  }
132

133
  // 适配移动端, Mobile responsive
134 135 136 137
  .mobile {
    .main-container {
      margin-left: 0px;
    }
Pan's avatar
Pan committed
138

139 140
    .sidebar-container {
      transition: transform .28s;
Pan's avatar
Pan committed
141
      width: $sideBarWidth !important;
142
    }
Pan's avatar
Pan committed
143

144 145
    &.hideSidebar {
      .sidebar-container {
146
        pointer-events: none;
147
        transition-duration: 0.3s;
Pan's avatar
Pan committed
148
        transform: translate3d(-$sideBarWidth, 0, 0);
149 150 151
      }
    }
  }
Pan's avatar
Pan committed
152

153
  .withoutAnimation {
Pan's avatar
Pan committed
154

155 156 157 158 159
    .main-container,
    .sidebar-container {
      transition: none;
    }
  }
Pan's avatar
Pan committed
160
}
Pan's avatar
Pan committed
161

162
// when menu collapsed
Pan's avatar
Pan committed
163 164 165
.el-menu--vertical {
  &>.el-menu {
    .svg-icon {
Pan's avatar
Pan committed
166 167 168
      margin-right: 16px;
    }
  }
169 170 171 172 173 174 175 176

  .nest-menu .el-submenu>.el-submenu__title,
  .el-menu-item {
    &:hover {
      // You can use $subMenuHover
      background-color: $menuHover !important;
    }
  }
Pan's avatar
Pan committed
177
}