@@ -78,17 +78,28 @@ export default class Leftbar extends Vue {
7878<style lang="scss">
7979@import ' ~@/assets/scss/variable.scss' ;
8080
81+ @keyframes glow-pulse {
82+ 0%,
83+ 100% {
84+ box-shadow : 0 0 0 0 rgba (16 , 185 , 129 , 0 );
85+ }
86+ 50% {
87+ box-shadow : 0 0 12px 2px rgba (16 , 185 , 129 , 0.3 );
88+ }
89+ }
90+
8191.leftbar {
8292 position : fixed ;
83- width : 80 px ;
93+ width : 76 px ;
8494 top : 0 ;
8595 bottom : 0 ;
86- background : linear-gradient (135 deg , var (--color-bg-leftbar_top ) 0% , var (--color-bg-leftbar_bottom ) 100% );
87- padding : 45 px 0 ;
96+ background : linear-gradient (180 deg , var (--color-bg-leftbar_top ) 0% , var (--color-bg-leftbar_bottom ) 100% );
97+ padding : 40 px 0 24 px ;
8898 z-index : 1001 ;
8999 display : flex ;
90100 flex-direction : column ;
91101 -webkit-app-region : drag;
102+ border-right : 1px solid rgba (255 , 255 , 255 , 0.05 );
92103
93104 & > .leftbar-top {
94105 flex : 3 ;
@@ -99,20 +110,44 @@ export default class Leftbar extends Vue {
99110
100111 .leftbar-item {
101112 text-align : center ;
102- margin-bottom : 25 px ;
113+ margin-bottom : 12 px ;
103114 position : relative ;
104115 a {
105- height : 48px ;
106- width : 48px ;
107- line-height : 48px ;
108- display : inline-block ;
116+ height : 44px ;
117+ width : 44px ;
118+ line-height : 44px ;
119+ display : inline-flex ;
120+ align-items : center ;
121+ justify-content : center ;
122+ border-radius : 12px ;
123+ transition : all 0.25s cubic-bezier (0.4 , 0 , 0.2 , 1 );
124+ position : relative ;
125+ & ::before {
126+ content : ' ' ;
127+ position : absolute ;
128+ left : -12px ;
129+ top : 50% ;
130+ transform : translateY (-50% ) scaleY (0 );
131+ width : 3px ;
132+ height : 20px ;
133+ background : var (--color-main-green );
134+ border-radius : 0 2px 2px 0 ;
135+ transition : transform 0.2s ease ;
136+ }
109137 }
110138 & .active a {
111- background-color : var (--color-bg-leftbar_item );
112- border-radius : 8px ;
139+ background : linear-gradient (135deg , var (--color-bg-leftbar_item ) 0% , rgba (16 , 185 , 129 , 0.15 ) 100% );
140+ box-shadow : 0 4px 12px rgba (0 , 0 , 0 , 0.3 );
141+ & ::before {
142+ transform : translateY (-50% ) scaleY (1 );
143+ }
144+ .iconfont {
145+ color : var (--color-main-green );
146+ }
113147 }
114- & .active a ,
115148 a :hover {
149+ background : var (--color-bg-leftbar_item );
150+ transform : scale (1.05 );
116151 .iconfont {
117152 color : var (--color-main-white );
118153 }
@@ -123,25 +158,36 @@ export default class Leftbar extends Vue {
123158 }
124159
125160 .app-logo {
126- margin-bottom : 35px ;
161+ margin-bottom : 72px ;
162+ a {
163+ & :hover {
164+ background : transparent ;
165+ transform : none ;
166+ }
167+ }
127168 img {
128- width : 40px ;
129- height : 40px ;
169+ width : 36px ;
170+ height : 36px ;
171+ transition : transform 0.3s ease ;
172+ & :hover {
173+ transform : rotate (10deg ) scale (1.1 );
174+ }
130175 }
131176 }
132177
133178 .iconfont {
134- color : var (--color-text-light );
179+ color : var (--color-text-leftbar_icon );
180+ transition : color 0.2s ease ;
135181 }
136182 .leftbar-top .iconfont {
137- font-size : 24 px ;
183+ font-size : 22 px ;
138184 }
139185 .leftbar-bottom .iconfont {
140- font-size : 20 px ;
186+ font-size : 18 px ;
141187 }
142188
143189 @media (min-width : 1920px ) {
144- width : 120 px ;
190+ width : 116 px ;
145191 }
146192}
147193 </style >
0 commit comments