@upload-prefix-cls: ant-upload; .@{upload-prefix-cls} { > span { display: block; width: 100%; } input[type="file"] { cursor: pointer; } &.@{upload-prefix-cls}-select { display: inline-block; } &.@{upload-prefix-cls}-drag { border: 1px dashed #d9d9d9; transition: border-color 0.3s ease; cursor: pointer; border-radius: @border-radius-base; text-align: center; width: 100%; height: 100%; position: relative; &.@{upload-prefix-cls}-drag-hover { border: 2px dashed tint(@primary-color, 20%); } > span { display: table; height: 100%; } .@{upload-prefix-cls}-drag-container { display: table-cell; vertical-align: middle; } &:hover { border-color: tint(@primary-color, 20%); } p.@{upload-prefix-cls}-drag-icon { .anticon { font-size: 80px; margin-top: -5px; color: tint(@primary-color, 20%); } height: 60px; margin-bottom: 24px; } p.@{upload-prefix-cls}-text { font-size: 14px; } p.@{upload-prefix-cls}-hint { font-size: 12px; color: #999; } .anticon-plus { font-size: 30px; transition: all 0.3s ease; color: #d9d9d9; &:hover { color: #999; } } &:hover .anticon-plus { color: #999; } } } .@{upload-prefix-cls}-list { .@{upload-prefix-cls}-list-item { overflow: hidden; margin-top: 8px; .@{upload-prefix-cls}-list-item-info { height: 22px; line-height: 22px; padding: 0 4px; transition: background-color 0.3s ease; .anticon-paper-clip { margin-right: 4px; font-size: 12px; color: #999; } .anticon-cross { .iconfont-size-under-12px(10px); transition: all 0.3s ease; opacity: 0; cursor: pointer; float: right; color: #999; line-height: 22px; &:hover { color: #666; } } &:hover { background-color: tint(@primary-color, 90%); .anticon.anticon-cross { opacity: 1; } } } .@{upload-prefix-cls}-list-item-progress { padding: 0 8px 0 20px; margin-top: -2px; margin-bottom: 1px; font-size: 12px; .ant-progress-line-inner { vertical-align: middle; } } } .@{upload-prefix-cls}-item-name { font-size: 12px; font-weight: normal; } b.@{upload-prefix-cls}-item-name { color: #666; } .@{upload-prefix-cls}-success-icon { color: @success-color; font-weight: bold; } .@{upload-prefix-cls}-margin-top-enter { animation: uploadMarginTopIn .3s @ease-in-out-circ; } .@{upload-prefix-cls}-margin-top-leave { animation: uploadMarginTopOut .3s @ease-in-out-circ; } } @keyframes uploadMarginTopIn { from { margin-top: -25px; opacity: 0; } } @keyframes uploadMarginTopOut { to { margin-top: -25px; opacity: 0; } }