UNPKG

dtd

Version:

根据数梦工场视觉规范打造的组件库,感谢react-components和ant design

510 lines (437 loc) 10.5 kB
@import "../../style/themes/default"; @import "../../style/mixins/index"; @upload-prefix-cls: ~"@{dt-prefix}-upload"; @upload-item: ~"@{dt-prefix}-upload-list-item"; @upload-pictrue-card-size: 126px; @upload-list-item-uploading-color: #999; @upload-list-item-done-color: #666; .@{upload-prefix-cls} { .reset-component; outline: 0; color: #737f8c; &:hover { color: #00b4ed; cursor: pointer; } p { margin: 0; } &-btn { display: block; width: 100%; outline: none; } &-text { margin-top: 10px; } input[type="file"] { cursor: pointer; } &&-select { display: inline-block; } &&-select-picture-card { border: @border-width-base dashed @border-color-base; width: @upload-pictrue-card-size; height: @upload-pictrue-card-size; border-radius: 4px; text-align: center; cursor: pointer; transition: border-color 0.3s ease; vertical-align: top; margin-right: 8px; margin-bottom: 8px; display: table; > .@{upload-prefix-cls} { width: 100%; height: 100%; display: table-cell; text-align: center; vertical-align: middle; padding: 5px; i.icon-plus-large { vertical-align: middle; font-size: 32px; // color: #dcdfe6; } img { width: 100%; } } &:hover { border-color: @primary-color; } } &&-drag { border: @border-width-base dashed @border-color-base; transition: border-color .3s; cursor: pointer; border-radius: 4px; text-align: center; width: 100%; height: 100%; position: relative; padding: 50px 0 30px 0; background: @background-color-light; &.@{upload-prefix-cls}-drag-hover:not(.@{upload-prefix-cls}-disabled) { border: 2px dashed @primary-5; } &.@{upload-prefix-cls}-disabled { cursor: not-allowed; } .@{upload-prefix-cls}-btn { display: table; height: 100%; } .@{upload-prefix-cls}-drag-container { display: table-cell; vertical-align: middle; } &:not(.@{upload-prefix-cls}-disabled):hover { border-color: @primary-5; } p.@{upload-prefix-cls}-drag-icon { .@{iconfont-css-prefix} { font-size: 48px; color: @primary-5; } margin-bottom: 20px; } p.@{upload-prefix-cls}-text { font-size: @font-size-lg; margin: 0 0 4px; color: @text-color-secondary; } p.@{upload-prefix-cls}-hint { font-size: @font-size-base; color: @text-color-assist-2; } .@{iconfont-css-prefix}-plus-large { font-size: 30px; transition: all .3s; color: @disabled-color; &:hover { color: @text-color-secondary; } } &:hover .@{iconfont-css-prefix}-plus-large { color: @text-color-secondary; } } &-message { font-size: 12px; color: @upload-list-item-uploading-color; } } .@{upload-prefix-cls}-modal { .dt-modal-close { right: -56px; top: -18px; color: #fff; .dt-modal-close-x { font-size: 24px; font-weight: normal; } } .dt-modal-body { padding: 15px; } } .@{upload-prefix-cls}-list { .reset-component; .clearfix; &-item { margin-top: 8px; font-size: @font-size-base; position: relative; height: 22px; &-name { width: 100%; display: inline-block; color: @upload-list-item-done-color; &-title { display: inline-block; max-width: 80%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; vertical-align: middle; } &-progress { margin-left: 20px; vertical-align: middle; } &:hover { color: #666; text-decoration: none; } } &-info { height: 100%; padding: 0 12px 0 4px; transition: background-color .3s; > span { display: block; height: 100%; } .@{iconfont-css-prefix}-loading, .@{iconfont-css-prefix}-paper-clip { font-size: @font-size-base; color: @upload-list-item-done-color; padding-right: 10px; vertical-align: sub; } } .@{iconfont-css-prefix}-close { .iconfont-size-under-12px(10px); transition: all .3s; position: absolute; top: 6px; right: 4px; opacity: 0; } &:hover &-info { background-color: @item-hover-bg; } &:hover .@{iconfont-css-prefix}-close { opacity: 1; } &-uploading &-name { color: @upload-list-item-uploading-color; &:hover { color: @upload-list-item-uploading-color; } } &-error, &-error .@{iconfont-css-prefix}-paper-clip, &-error &-name { color: @error-color; &:hover { color: @error-color; } } &-error .@{iconfont-css-prefix}-close { opacity: 1; color: @error-color !important; } } &-picture, &-picture-card { .@{upload-item} { padding: 5px; border-radius: 4px; border: @border-width-base @border-style-base @border-color-base; height: 66px; position: relative; &:hover { background: transparent; } &-error { border-color: @error-color; } } .@{upload-item}-info { padding: 0; } .@{upload-item}:hover .@{upload-item}-info { background: transparent; } .@{upload-item}-uploading { border-style: dashed; } .@{upload-item}-thumbnail { width: 48px; height: 48px; position: absolute; top: 8px; left: 8px; } .@{upload-item}-thumbnail img { width: 48px; height: 48px; display: block; overflow: hidden; } .@{upload-item}-thumbnail.@{iconfont-css-prefix}:before { line-height: 48px; font-size: 24px; color: @text-color-secondary; } .@{upload-item}-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; margin: 8px 0 0 16px; line-height: 44px; transition: all .3s; padding-left: 48px; padding-right: 8px; max-width: 100%; display: inline-block; box-sizing: border-box; } .@{upload-item}-uploading .@{upload-item}-name { line-height: 28px; } .@{upload-item}-progress { margin: 0 auto; width: ~"calc(100% - 24px)"; } .@{iconfont-css-prefix}-close { line-height: 1; } } &-picture-card { display: inline; &.@{upload-prefix-cls}-list:after { display: none; } .@{upload-item} { float: left; width: @upload-pictrue-card-size; height: @upload-pictrue-card-size; margin: 0 8px 8px 0; } .@{upload-item}-info { height: 100%; position: relative; overflow: hidden; &:before { content: ' '; position: absolute; z-index: 1; background-color: rgba(0, 0, 0, 0.5); transition: all .3s; width: 100%; height: 100%; opacity: 0; } } .@{upload-item}:hover .@{upload-item}-info:before { opacity: 1; } .@{upload-item}-actions { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); z-index: 10; white-space: nowrap; opacity: 0; transition: all .3s; .@{iconfont-css-prefix}-eye-o, .@{iconfont-css-prefix}-delete { z-index: 10; transition: all .3s; cursor: pointer; font-size: 16px; width: 16px; color: @text-color-dark; margin: 0 10px; &:hover { color: #fff; } } } .@{upload-item}-info:hover + .@{upload-item}-actions, .@{upload-item}-actions:hover { opacity: 1; } .@{upload-item}-thumbnail, .@{upload-item}-thumbnail img { display: block; width: 100%; height: 100%; position: static; } .@{upload-item}-name { margin: 8px 0 0; padding: 0; text-align: center; line-height: @line-height-base; display: none; } .icon-picture + .@{upload-item}-name { display: block; } .@{upload-item}-uploading { &.@{upload-item} { background-color: @background-color-light; } .@{upload-item}-info { height: auto; text-align: center; &:before, .@{iconfont-css-prefix}-eye-o, .@{iconfont-css-prefix}-delete { display: none; } } &-text { margin-top: 35px; color: @text-color-secondary; } } .@{upload-item}-progress { padding-left: 0; bottom: 32px; } } .@{upload-prefix-cls}-success-icon { color: @success-color; font-weight: bold; } .@{upload-prefix-cls}-animate-enter, .@{upload-prefix-cls}-animate-leave, .@{upload-prefix-cls}-animate-inline-enter, .@{upload-prefix-cls}-animate-inline-leave { animation-duration: .3s; animation-fill-mode: @ease-in-out-circ; } .@{upload-prefix-cls}-animate-enter { animation-name: uploadAnimateIn; } .@{upload-prefix-cls}-animate-leave { animation-name: uploadAnimateOut; } .@{upload-prefix-cls}-animate-inline-enter { animation-name: uploadAnimateInlineIn; } .@{upload-prefix-cls}-animate-inline-leave { animation-name: uploadAnimateInlineOut; } } @keyframes uploadAnimateIn { from { height: 0; margin: 0; opacity: 0; padding: 0; } } @keyframes uploadAnimateOut { to { height: 0; margin: 0; padding: 0; opacity: 0; } } @keyframes uploadAnimateInlineIn { from { width: 0; height: 0; margin: 0; opacity: 0; padding: 0; } } @keyframes uploadAnimateInlineOut { to { width: 0; height: 0; margin: 0; padding: 0; opacity: 0; } }