167 lines
3.2 KiB
SCSS
167 lines
3.2 KiB
SCSS
@use '../mixins/mixins.scss' as *;
|
|
|
|
@include b('image-upload') {
|
|
position: relative;
|
|
width: 100%;
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
}
|
|
|
|
/* item 对象 */
|
|
@include b('image-upload-item') {
|
|
flex-grow: 0;
|
|
|
|
position: relative;
|
|
width: calc(100% / 3 - 20rpx);
|
|
height: 0;
|
|
padding-bottom: calc(100% / 3 - 20rpx);
|
|
border-radius: 15rpx;
|
|
margin-right: 20rpx;
|
|
margin-bottom: 20rpx;
|
|
overflow: hidden;
|
|
|
|
/* 自定义显示图片数据 start */
|
|
@include when(custom) {
|
|
flex: auto;
|
|
width: 100%;
|
|
height: auto;
|
|
padding: 0rpx;
|
|
border-radius: 0rpx;
|
|
margin: 0;
|
|
}
|
|
/* 自定义显示图片数据 end */
|
|
|
|
/* 图片 start */
|
|
@include e(image) {
|
|
position: absolute;
|
|
left: 0;
|
|
top: 0;
|
|
width: 100%;
|
|
height: 100%;
|
|
border-radius: inherit;
|
|
will-change: transform;
|
|
z-index: 1;
|
|
|
|
.image {
|
|
width: 100%;
|
|
height: 100%;
|
|
border-radius: inherit;
|
|
}
|
|
|
|
@include when(donw) {
|
|
z-index: 4;
|
|
}
|
|
}
|
|
/* 图片 end */
|
|
|
|
/* 删除按钮 start */
|
|
@include e(remove) {
|
|
position: absolute;
|
|
right: 0;
|
|
top: 0;
|
|
background-color: transparent;
|
|
color: #fff;
|
|
width: 0;
|
|
height: 0;
|
|
z-index: 6;
|
|
border-top: 70rpx solid var(--tn-color-danger);
|
|
border-left: 70rpx solid transparent;
|
|
|
|
@include m(icon) {
|
|
position: absolute;
|
|
top: -76rpx;
|
|
right: 8rpx;
|
|
transform: translateY(50%);
|
|
line-height: 1;
|
|
}
|
|
}
|
|
/* 删除按钮 end */
|
|
|
|
/* 重试蒙层 start */
|
|
@include e(retry) {
|
|
position: absolute;
|
|
left: 0;
|
|
top: 0;
|
|
width: 100%;
|
|
height: 100%;
|
|
background-color: rgba(0, 0, 0, 0.2);
|
|
color: #fff;
|
|
z-index: 5;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
font-size: 110rpx;
|
|
line-height: 1;
|
|
}
|
|
/* 重试蒙层 end */
|
|
|
|
/* 进度条 start */
|
|
@include e(progress) {
|
|
position: absolute;
|
|
left: 0;
|
|
bottom: 0;
|
|
width: 100%;
|
|
height: 100%;
|
|
z-index: 2;
|
|
opacity: 1;
|
|
background-color: rgba(247, 248, 247, 0);
|
|
transition-property: opacity;
|
|
transition-duration: 0.8s;
|
|
transition-timing-function: linear;
|
|
transition-delay: 0.3s;
|
|
|
|
@include m(wave) {
|
|
position: absolute;
|
|
width: calc(100% * 4);
|
|
height: calc(100% * 4);
|
|
top: -300%;
|
|
left: 50%;
|
|
z-index: 2;
|
|
background-color: rgba(170, 170, 170, 0.5);
|
|
border-radius: 45%;
|
|
transform: translateX(-50%) rotate(0);
|
|
animation: rotate 4s linear infinite;
|
|
|
|
& + & {
|
|
z-index: 3;
|
|
background-color: rgba(170, 170, 170, 0.8);
|
|
border-radius: 47%;
|
|
animation: rotate 9s linear -4s infinite;
|
|
}
|
|
}
|
|
|
|
@include when(finish) {
|
|
opacity: 0;
|
|
}
|
|
}
|
|
/* 进度条 end */
|
|
|
|
/* 新增图片 按钮 start */
|
|
@include e(add-btn) {
|
|
position: absolute;
|
|
width: 100%;
|
|
height: 100%;
|
|
left: 0;
|
|
top: 0;
|
|
border-radius: inherit;
|
|
|
|
@include m('icon') {
|
|
position: absolute;
|
|
left: 50%;
|
|
top: 50%;
|
|
transform: translate(-50%, -50%);
|
|
font-size: 100rpx;
|
|
}
|
|
}
|
|
/* 新增图片 按钮 end */
|
|
}
|
|
|
|
@keyframes rotate {
|
|
50% {
|
|
transform: translateX(-50%) rotate(180deg);
|
|
}
|
|
100% {
|
|
transform: translateX(-50%) rotate(360deg);
|
|
}
|
|
}
|