UNPKG

@fe6/water-pro

Version:

An enterprise-class UI design language and Vue-based implementation

169 lines (158 loc) 3.4 kB
.effect() { transform-origin: 0 0; animation-duration: 0.3s; animation-fill-mode: both; } .rc-cascader { font-size: 12px; &-menus { position: absolute; overflow: hidden; font-size: 12px; white-space: nowrap; background: #fff; border: 1px solid #d9d9d9; border-radius: 6px; box-shadow: 0 0 4px rgba(0, 0, 0, 0.17); &-hidden { display: none; } &.slide-up-enter, &.slide-up-appear { .effect(); opacity: 0; animation-play-state: paused; animation-timing-function: cubic-bezier(0.08, 0.82, 0.17, 1); } &.slide-up-leave { .effect(); opacity: 1; animation-play-state: paused; animation-timing-function: cubic-bezier(0.6, 0.04, 0.98, 0.34); } &.slide-up-enter.slide-up-enter-active&-placement-bottomLeft, &.slide-up-appear.slide-up-appear-active&-placement-bottomLeft { animation-name: SlideUpIn; animation-play-state: running; } &.slide-up-enter.slide-up-enter-active&-placement-topLeft, &.slide-up-appear.slide-up-appear-active&-placement-topLeft { animation-name: SlideDownIn; animation-play-state: running; } &.slide-up-leave.slide-up-leave-active&-placement-bottomLeft { animation-name: SlideUpOut; animation-play-state: running; } &.slide-up-leave.slide-up-leave-active&-placement-topLeft { animation-name: SlideDownOut; animation-play-state: running; } } &-menu { display: inline-block; width: 100px; height: 192px; margin: 0; padding: 0; overflow: auto; list-style: none; border-right: 1px solid #e9e9e9; &:last-child { border-right: 0; } } &-menu-item { position: relative; height: 32px; padding: 0 16px; overflow: hidden; line-height: 32px; white-space: nowrap; text-overflow: ellipsis; cursor: pointer; transition: all 0.3s ease; &:hover { background: tint(#2db7f5, 90%); } &-disabled { color: #ccc; cursor: not-allowed; &:hover { background: transparent; } } &-loading::after { position: absolute; right: 12px; color: #aaa; font-style: italic; content: 'loading'; } &-active { background: tint(#2db7f5, 80%); &:hover { background: tint(#2db7f5, 80%); } } &-expand { position: relative; &::after { position: absolute; right: 16px; color: #999; font-size: 12px; line-height: 32px; content: '>'; } } } } @keyframes SlideUpIn { 0% { transform: scaleY(0.8); transform-origin: 0% 0%; opacity: 0; } 100% { transform: scaleY(1); transform-origin: 0% 0%; opacity: 1; } } @keyframes SlideUpOut { 0% { transform: scaleY(1); transform-origin: 0% 0%; opacity: 1; } 100% { transform: scaleY(0.8); transform-origin: 0% 0%; opacity: 0; } } @keyframes SlideDownIn { 0% { transform: scaleY(0.8); transform-origin: 0% 100%; opacity: 0; } 100% { transform: scaleY(1); transform-origin: 0% 100%; opacity: 1; } } @keyframes SlideDownOut { 0% { transform: scaleY(1); transform-origin: 0% 100%; opacity: 1; } 100% { transform: scaleY(0.8); transform-origin: 0% 100%; opacity: 0; } }