@use "mixins/mixins"; @use "./common/var"; %size { width: 100%; height: 100%; } @include mixins.b(image) { position: relative; display: inline-block; overflow: hidden; @include mixins.e(inner) { @extend %size; vertical-align: top; @include mixins.m(center) { position: relative; top: 50%; left: 50%; transform: translate(-50%, -50%); display: block; } } @include mixins.e(placeholder) { @extend %size; background: var.$background-color-base; } @include mixins.e(error) { @extend %size; display: flex; justify-content: center; align-items: center; font-size: 14px; background: var.$background-color-base; color: var(--color-text-lighter); vertical-align: middle; } @include mixins.e(preview) { cursor: pointer; } } @include mixins.b(image-viewer) { @include mixins.e(wrapper) { position: fixed; top: 0; right: 0; bottom: 0; left: 0; } @include mixins.e(btn) { position: absolute; z-index: 1; display: flex; align-items: center; justify-content: center; border-radius: 50%; opacity: 0.8; cursor: pointer; box-sizing: border-box; user-select: none; } @include mixins.e(close) { top: 40px; right: 40px; width: 40px; height: 40px; font-size: 24px; color: #fff; background-color: #606266; } @include mixins.e(canvas) { width: 100%; height: 100%; display: flex; justify-content: center; align-items: center; } @include mixins.e(actions) { left: 50%; bottom: 30px; transform: translateX(-50%); width: 282px; height: 44px; padding: 0 23px; background-color: #606266; border-color: #fff; border-radius: 22px; @include mixins.e(actions__inner) { width: 100%; height: 100%; text-align: justify; cursor: default; font-size: 23px; color: #fff; display: flex; align-items: center; justify-content: space-around; } } @include mixins.e(prev) { top: 50%; transform: translateY(-50%); width: 44px; height: 44px; font-size: 24px; color: #fff; background-color: #606266; border-color: #fff; left: 40px; } @include mixins.e(next) { top: 50%; transform: translateY(-50%); width: 44px; height: 44px; font-size: 24px; color: #fff; background-color: #606266; border-color: #fff; right: 40px; text-indent: 2px; } @include mixins.e(mask) { position: absolute; width: 100%; height: 100%; top: 0; left: 0; opacity: 0.5; background: #000; } } .viewer-fade-enter-active { animation: viewer-fade-in 0.3s; } .viewer-fade-leave-active { animation: viewer-fade-out 0.3s; } @keyframes viewer-fade-in { 0% { transform: translate3d(0, -20px, 0); opacity: 0; } 100% { transform: translate3d(0, 0, 0); opacity: 1; } } @keyframes viewer-fade-out { 0% { transform: translate3d(0, 0, 0); opacity: 1; } 100% { transform: translate3d(0, -20px, 0); opacity: 0; } }