UNPKG

@nutui/nutui-react

Version:

京东风格的轻量级移动端 React 组件库,支持一套代码生成 H5 和小程序

241 lines (239 loc) 7.99 kB
:root, page { --nut-scale-f: 1; --nut-scale-font: var(--nut-scale-f, 1); --nut-scale-icon: var(--nut-scale-f, 1); --nut-icon-height: calc(16px * var(--nut-scale-icon, var(--nut-scale-f, 1))) !important; --nut-icon-width: calc(16px * var(--nut-scale-icon, var(--nut-scale-f, 1))) !important; --nut-icon-line-height: calc(16px * var(--nut-scale-icon, var(--nut-scale-f, 1))) !important; } /* #ifdef harmony */ /* #endif */ /* #ifndef harmony */ /* #endif */ .nut-uploader { position: relative; display: flex; flex-wrap: wrap; } .nut-uploader-slot { position: relative; } .nut-uploader-upload { position: relative; display: flex; align-items: center; justify-content: center; background: var(--nutui-uploader-background, var(--nutui-color-background, #f2f3f5)); width: var(--nutui-uploader-image-width, calc(100px * var(--nut-scale-f, 1))); height: var(--nutui-uploader-image-height, calc(100px * var(--nut-scale-f, 1))); border: var(--nutui-uploader-image-border, 0px); border-radius: var(--nutui-uploader-image-border-radius, calc(4px * var(--nut-scale-f, 1))); } .nut-uploader-icon { display: flex; flex-direction: column; justify-content: center; align-items: center; color: var(--nutui-uploader-image-color, var(--nutui-color-text-help, #888b94)); } .nut-uploader-icon i, .nut-uploader-icon .nut-icon { color: var(--nutui-uploader-image-color, var(--nutui-color-text-help, #888b94)); margin-bottom: var(--nutui-uploader-image-icon-margin-bottom, calc(6px * var(--nut-scale-f, 1))); } .nut-uploader-icon-tip { font-size: var(--nutui-uploader-image-icon-tip-font-size, var(--nutui-font-size-s, calc(12px * var(--nut-scale-font, var(--nut-scale-f, 1))))); } .nut-uploader-input { position: absolute !important; top: 0; left: 0; width: 100% !important; height: 100% !important; overflow: hidden; cursor: pointer; opacity: 0; } .nut-uploader-input:disabled { cursor: not-allowed; } .nut-uploader-upload-disabled { background: var(--nutui-uploader-background-disabled, var(--nutui-color-background, #f2f3f5)); color: var(--nutui-uploader-image-disabled, var(--nutui-color-text-disabled, #c2c4cc)); } .nut-uploader-upload-disabled .nut-uploader-icon i, .nut-uploader-upload-disabled .nut-uploader-icon .nut-icon { color: var(--nutui-uploader-image-disabled, var(--nutui-color-text-disabled, #c2c4cc)); margin-bottom: var(--nutui-uploader-image-icon-margin-bottom, calc(6px * var(--nut-scale-f, 1))); } .nut-uploader-preview { position: relative; margin-right: var(--nutui-uploader-preview-margin-right, calc(10px * var(--nut-scale-f, 1))); margin-bottom: var(--nutui-uploader-preview-margin-bottom, calc(10px * var(--nut-scale-f, 1))); border-radius: var(--nutui-uploader-image-border-radius, calc(4px * var(--nut-scale-f, 1))); box-shadow: 0 calc(2px * var(--nut-scale-f, 1)) calc(10px * var(--nut-scale-f, 1)) 0 rgba(0, 0, 0, 0.1); } .nut-uploader-preview-progress { position: absolute; left: 0; top: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; width: 100%; height: 100%; background: var(--nutui-uploader-preview-progress-background, var(--nutui-color-mask, rgba(0, 0, 0, 0.7))); border-radius: var(--nutui-uploader-image-border-radius, calc(4px * var(--nut-scale-f, 1))); z-index: 10; } .nut-uploader-preview-progress i { margin-bottom: var(--nutui-uploader-image-icon-margin-bottom, calc(6px * var(--nut-scale-f, 1))); } .nut-uploader-preview-progress-msg { color: var(--nutui-color-text-help, #888b94); font-size: var(--nutui-font-size-s, calc(12px * var(--nut-scale-font, var(--nut-scale-f, 1)))); } .nut-uploader-preview.list { width: 100%; margin-right: 0; margin-bottom: 0; margin-top: calc(10px * var(--nut-scale-f, 1)); box-shadow: 0 calc(2px * var(--nut-scale-f, 1)) calc(10px * var(--nut-scale-f, 1)) 0 rgba(0, 0, 0, 0.01); } .nut-uploader-preview-list { width: 100%; height: calc(32px * var(--nut-scale-f, 1)); box-sizing: border-box; display: flex; align-items: center; justify-content: space-between; padding: 0 calc(10px * var(--nut-scale-f, 1)); background-color: var(--nutui-color-background-sunken, #f7f8fc); } .nut-uploader-preview-list .nut-uploader-preview-img-file-name { display: flex; align-items: center; -webkit-line-clamp: 1; padding: calc(2px * var(--nut-scale-f, 1)); height: calc(24px * var(--nut-scale-f, 1)); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .nut-uploader-preview-list .nut-progress { position: absolute; left: 0; right: 0; bottom: 0; } .nut-uploader-preview-list .nut-progress .nut-progress-outer { height: calc(2px * var(--nut-scale-f, 1)) !important; } .nut-uploader-preview .close { position: absolute; right: var(--nutui-uploader-preview-close-right, 0px); top: var(--nutui-uploader-preview-close-top, 0px); transform: translate(50%, -50%); z-index: 1; } .nut-uploader-preview-img { position: relative; width: var(--nutui-uploader-image-width, calc(100px * var(--nut-scale-f, 1))); height: var(--nutui-uploader-image-height, calc(100px * var(--nut-scale-f, 1))); border-radius: var(--nutui-uploader-image-border-radius, calc(4px * var(--nut-scale-f, 1))); overflow: hidden; } .nut-uploader-preview-img i { color: var(--nutui-color-title, #1a1a1a); } .nut-uploader-preview-img .tips { position: absolute; bottom: 0; left: 0; font-size: var(--nutui-font-size-s, calc(12px * var(--nut-scale-font, var(--nut-scale-f, 1)))); color: #ffffff; text-align: center; box-sizing: border-box; height: var(--nutui-uploader-preview-tips-height, calc(24px * var(--nut-scale-f, 1))); line-height: var(--nutui-uploader-preview-tips-height, calc(24px * var(--nut-scale-f, 1))); border-radius: var(--nutui-uploader-image-border-radius, calc(4px * var(--nut-scale-f, 1))); border-top-left-radius: 0; border-top-right-radius: 0; padding: var(--nutui-uploader-preview-tips-padding, 0 calc(5px * var(--nut-scale-f, 1))); background: var(--nutui-uploader-preview-tips-background, var(--nutui-black-7)); width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .nut-uploader-preview-img-c { display: flex; justify-content: center; align-items: center; height: 100%; /* #ifndef dynamic*/ position: initial; /* #endif */ border-radius: var(--nutui-uploader-image-border-radius, calc(4px * var(--nut-scale-f, 1))); } .nut-uploader-preview-img-file { height: 100%; width: 100%; display: flex; align-items: center; justify-content: center; transition: all 0.3s; } .nut-uploader-preview-img-file-name { display: flex; width: 90%; font-size: var(--nutui-font-size-s, calc(12px * var(--nut-scale-font, var(--nut-scale-f, 1)))); color: var(--nutui-color-text, #505259); display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; word-break: break-all; } .nut-uploader-preview-img-file-name.error { color: red !important; } .nut-uploader-preview-img-file-name.success { color: #1890ff !important; } .nut-uploader-preview-img-file-name .nut-icon-Link { flex-shrink: 0; } [dir=rtl] .nut-uploader-input, .nut-rtl .nut-uploader-input { left: auto; right: 0; } [dir=rtl] .nut-uploader-preview, .nut-rtl .nut-uploader-preview { margin-right: 0; margin-left: var(--nutui-uploader-preview-margin-right, calc(10px * var(--nut-scale-f, 1))); } [dir=rtl] .nut-uploader-preview-progress, .nut-rtl .nut-uploader-preview-progress { left: auto; right: 0; } [dir=rtl] .nut-uploader-preview.list, .nut-rtl .nut-uploader-preview.list { margin-right: 0; margin-left: 0; } [dir=rtl] .nut-uploader-preview .close, .nut-rtl .nut-uploader-preview .close { right: auto; left: var(--nutui-uploader-preview-close-right, 0px); transform: translate(-50%, -50%); } [dir=rtl] .nut-uploader-preview-img .tips, .nut-rtl .nut-uploader-preview-img .tips { left: auto; right: 0; }