linkmore-design
Version:
🌈 🚀lm组件库。🚀
299 lines (253 loc) • 5.96 kB
text/less
@import '../../ImageViewer/style/index.less';
.lm_upload_wrapper {
display: flex;
flex-wrap: wrap;
gap: 8px;
.lm_upload_core {
position: relative;
display: inline-flex;
vertical-align: middle;
.lm_upload_core_picture {
display: inline-flex;
align-items: center;
justify-content: center;
font-size: 12px;
text-align: center;
background-color: var(--color-2);
border: 1px solid var(--color-15);
cursor: pointer;
transition: all 0.3s;
&::after {
position: absolute;
background-color: var(--disabled-bg-color);
cursor: not-allowed;
inset: 0;
}
&:hover {
border-color: var(--primary-color);
}
.lm_upload_core_picture_action {
width: 100%;
padding: var(--gap);
text-align: center;
.action_plus {
color: var(--color-85);
}
.tip {
margin-top: var(--gap);
color: var(--color-45);
}
}
}
&.disabled {
.lm_upload_core_picture {
border-color: var(--disabled-border-color);
&::after {
content: '';
}
.lm_upload_core_picture_action {
.action_plus,
.tip {
color: var(--disabled-font-color);
}
}
}
}
}
// 上传进度
.lm_upload_progress {
width: 100%;
height: 2px;
margin: 10px 0;
background-color: var(--color-4);
border-radius: 20px;
.line {
width: 0%;
height: 2px;
background-color: var(--primary-color);
border-radius: 20px;
transition: 0.3;
}
}
// 文件列表项的每一项ƒ
.lm_upload_item {
vertical-align: middle;
// 文字列表
&.lm_upload_item_text {
display: flex;
gap: var(--gap);
align-items: center;
justify-content: space-between;
width: 100%;
height: 22px;
padding: 0 6px;
cursor: pointer;
transition: 0.3s;
&:hover {
background-color: var(--color-2);
}
.text_left {
display: flex;
flex: 1;
gap: var(--gap);
align-items: center;
.prefix {
color: var(--color-45);
font-size: 14px;
transition: 0.3s;
}
.lm_upload_item_name {
flex: 1;
color: var(--primary-color);
font-size: 14px;
transition: 0.3s;
}
}
.text_right {
display: inline-flex;
.action_delete {
width: 24px;
color: var(--color-45);
text-align: center;
transition: 0.3s;
.anticon {
font-size: 14px;
}
&:hover {
color: var(--primary-color);
}
}
}
// 上传错误列表
&.lm_upload_item_error {
color: var(--error-color);
.text_left {
.prefix,
.lm_upload_item_name {
color: inherit;
}
}
.text_right .action_delete {
color: inherit;
}
}
}
// 图片列表
&.lm_upload_item_card {
position: relative;
display: inline-flex;
align-items: center;
justify-content: center;
padding: var(--gap);
text-align: center;
border: 1px solid var(--color-15);
border-radius: 2px;
cursor: pointer;
transition: all 0.3s;
.lm_upload_item_thumb {
width: 100%;
.anticon {
color: var(--color-45);
font-size: 34px;
}
img {
object-fit: contain;
}
}
// 报错时的内容显示
.lm_upload_item_thumb_error {
.lm_upload_item_name {
margin-top: 8px;
overflow: hidden;
font-size: 12px;
text-overflow: ellipsis;
}
}
.lm_upload_item_mask {
position: absolute;
z-index: 1;
display: flex;
align-items: center;
justify-content: center;
background-color: rgba(0, 0, 0, 0.5);
opacity: 0;
transition: 0.3s;
inset: 8px;
.lm_upload_item_action {
display: flex;
gap: var(--gap);
align-items: center;
color: #fff;
}
}
&:hover {
.lm_upload_item_mask {
opacity: 1;
}
}
&.lm_upload_item_error {
border-color: var(--error-color);
.lm_upload_item_mask {
display: none;
}
.lm_upload_item_thumb_error {
color: var(--error-color);
}
}
}
// 图卡列表
&.lm_upload_item_picture {
display: flex;
gap: var(--gap);
align-items: center;
justify-content: space-between;
width: 100%;
padding: var(--gap);
border: 1px solid var(--color-15);
border-radius: 2px;
cursor: pointer;
transition: 0.3s;
&:hover {
border-color: var(--primary-color);
}
.picture_left {
display: inline-flex;
flex: 1;
gap: var(--gap);
align-items: center;
.lm_upload_item_thumb {
width: 48px;
img {
width: 100%;
max-height: 80px;
}
}
.lm_upload_item_name {
flex: 1;
color: var(--primary-color);
font-size: 14px;
transition: 0.3s;
}
}
.picture_right {
display: flex;
align-items: center;
.action_delete {
width: 24px;
color: var(--color-45);
text-align: center;
transition: 0.3s;
.anticon {
font-size: 14px;
}
&:hover {
color: var(--primary-color);
}
}
}
&.lm_upload_item_error {
color: var(--error-color);
}
}
}
}