@fe6/water-pro
Version:
An enterprise-class UI design language and Vue-based implementation
94 lines (79 loc) • 1.68 kB
text/less
@import '../../style/themes/index';
@import '../../style/mixins/index';
@upload-base-prefix-cls: ~'@{ant-prefix}-upload';
@image-base-prefix-cls: ~'@{ant-prefix}-image';
@upload-card-prefix-cls: ~'@{upload-base-prefix-cls}-card';
.@{upload-card-prefix-cls} {
display: inline-block;
vertical-align: middle;
& .@{upload-base-prefix-cls} {
display: block;
width: 100%;
height: 100%;
}
&-tip {
color: @text-color-secondary;
font-size: 12px;
line-height: 18px;
}
&-btn {
display: flex;
align-items: center;
justify-content: center;
width: 100px;
height: 100px;
text-align: center;
vertical-align: top;
background-color: #fff;
border: 1px dashed @border-color-base;
border-radius: 2px;
cursor: pointer;
transition: border-color 0.3s;
&:hover {
border-color: @primary-5;
}
}
&-img {
height: 100%;
&-contain {
object-fit: contain;
}
&-cover {
object-fit: cover;
}
&-box {
position: relative;
float: left;
margin: 0 8px 8px 0;
padding: 8px;
border: 1px solid @border-color-base;
& .@{image-base-prefix-cls} {
border: none ;
}
}
}
&-handle {
position: absolute;
top: 8px;
right: 8px;
bottom: 8px;
left: 8px;
display: flex;
align-items: center;
justify-content: center;
color: #fff;
font-size: 16px;
white-space: nowrap;
text-align: center;
background: rgba(0, 0, 0, 0.6);
cursor: pointer;
opacity: 0;
transition: all 0.3s;
&:hover {
opacity: 1;
}
}
&-icon {
margin-right: 8px;
}
}