UNPKG

zui

Version:

一个基于 Bootstrap 深度定制开源前端实践方案,帮助你快速构建现代跨屏应用。

310 lines (305 loc) 7.14 kB
/*! * ZUI: 下拉选择器 - v1.10.0 - 2021-11-04 * http://openzui.com * GitHub: https://github.com/easysoft/zui.git * Copyright (c) 2021 cnezsoft.com; Licensed MIT */ .picker { min-height: 32px; background-color: #eee; } .picker:not(.picker-ready) > * { display: none; } .picker-selections { position: relative; min-height: 32px; color: #222; background-color: #fff; border: 1px solid #ccc; border-radius: 4px; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); } .picker-focus .picker-selections { border-color: #145ccd; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px rgba(20, 92, 205, .6); box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px rgba(20, 92, 205, .6); } .picker-multi .picker-selections { padding: 3px; } .picker-multi.picker-focus .picker-selections:before { position: absolute; right: 0; bottom: 8px; display: block; width: 24px; height: 14px; font-family: ZenIcon; font-size: 14px; font-style: normal; font-weight: normal; font-variant: normal; line-height: 1; text-align: center; text-transform: none; content: '\e603'; opacity: .4; speak: none; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } .picker-multi.picker-focus.picker-loading .picker-selections::before { display: inline-block; content: '\e97c'; -webkit-animation: spin 2s infinite linear; -o-animation: spin 2s infinite linear; animation: spin 2s infinite linear; } .picker-multi .picker-selection { position: relative; display: inline-block; padding: 0 20px 0 5px; margin: 2px; line-height: 18px; background-color: #f1f1f1; -webkit-background-clip: padding-box; background-clip: padding-box; border: 1px solid #ddd; border-radius: 3px; -webkit-box-shadow: 0 0 2px #fff inset, 0 1px 0 rgba(0, 0, 0, .05); box-shadow: 0 0 2px #fff inset, 0 1px 0 rgba(0, 0, 0, .05); } .picker-selection-single { max-width: 100%; padding: 5px 20px 5px 8px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .picker-focus .picker-selection-single .picker-selection-text { display: none; } .picker-selection-single:after { position: absolute; top: 7px; right: 0; display: block; width: 24px; height: 14px; font-family: ZenIcon; font-size: 14px; font-style: normal; font-weight: normal; font-variant: normal; line-height: 1; text-align: center; text-transform: none; content: '\e6b8'; opacity: .4; speak: none; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } .picker-focus .picker-selection-single::after { content: '\e603'; } .picker-focus.picker-loading .picker-selection-single::after { display: inline-block; content: '\e97c'; -webkit-animation: spin 2s infinite linear; -o-animation: spin 2s infinite linear; animation: spin 2s infinite linear; } .picker-selection-remove { position: absolute; top: 0; right: 0; width: 20px; height: 20px; text-align: center; cursor: pointer; opacity: .2; } .picker-selection-remove:before { font-family: ZenIcon; font-size: 14px; font-style: normal; font-weight: normal; font-variant: normal; line-height: 1; text-shadow: 0 1px 0 #fff; text-transform: none; content: '\d7'; speak: none; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } .picker-selection-remove:hover { opacity: .5; } .picker-single .picker-selection-remove { top: 5px; right: 20px; z-index: 1; } .picker-no-value .picker-selection-remove, .picker-single.picker-focus .picker-selection-remove { display: none; } .picker-multi.picker-sortable .picker-selection-text { cursor: move; } .picker-search { color: transparent; background: none; border: none; } .picker-search:focus { color: inherit; outline: none; } .picker-single .picker-search { position: absolute; top: 0; right: 0; bottom: 0; left: 0; z-index: 1; width: 100%; padding: 5px 8px; } .picker-multi .picker-search { display: inline-block; width: 10px; min-width: 10px; max-width: 100%; padding: 0 2px; margin: 2px 0; } .picker-placeholder { position: absolute; top: 5px; right: 20px; left: 8px; z-index: 0; display: none; overflow: hidden; color: #808080; text-overflow: ellipsis; white-space: nowrap; } .picker-no-value.picker-focus .picker-placeholder { display: none; } .picker-input-empty.picker-focus.picker-no-value .picker-placeholder, .picker-no-value .picker-placeholder { display: block; } .picker-drop-menu { position: fixed; z-index: 1200; display: none; min-width: 100px; background-color: #fff; border: 1px solid rgba(0, 0, 0, .15); border-radius: 4px; -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, .12), 0 1px 3px rgba(0, 0, 0, .1); box-shadow: 0 6px 12px rgba(0, 0, 0, .12), 0 1px 3px rgba(0, 0, 0, .1); opacity: 0; } .picker-drop-menu.picker-drop-show { display: block; } .picker-drop-menu.picker-has-message { min-height: 22px; padding-bottom: 22px; } .picker-option-list { padding: 5px 0; margin: 0; overflow-y: auto; } .picker-no-options .picker-option-list { display: none; } .picker-option { display: block; min-height: 30px; padding: 5px 10px; overflow: hidden; clear: both; font-weight: normal; line-height: 1.53846154; color: #353535; text-overflow: ellipsis; white-space: nowrap; -webkit-transition: none; -o-transition: none; transition: none; } .picker-single .picker-option.picker-option-selected { color: #3280fc; background: #ebf2f9; } .picker-option:hover, .picker-option:focus { text-decoration: none; } .picker-single .picker-option.picker-option-selected.picker-option-active, .picker-option.picker-option-active { color: #fff; background-color: #3280fc; } .picker-multi .picker-option.picker-option-selected, .picker-multi .picker-option.picker-option-selected.picker-option-active { color: #ccc; cursor: not-allowed; background-color: #fff; } .picker-option-text-matched { position: relative; color: #3280fc; } .picker-option-text-matched:before { position: absolute; right: 0; bottom: -4px; left: 0; display: block; height: 2px; content: ' '; background-color: #3280fc; border-radius: 2px; opacity: .5; } .picker-option-active .picker-option-text-matched, .picker-option:hover .picker-option-text-matched { color: #fff; } .picker-option-active .picker-option-text-matched:before, .picker-option:hover .picker-option-text-matched:before { background-color: #fff; } .picker-message { position: absolute; right: 0; bottom: 0; left: 0; display: none; height: 22px; padding: 2px 5px; overflow: hidden; font-size: 12px; color: #808080; text-overflow: ellipsis; white-space: nowrap; background-color: #f1f1f1; } .picker-has-message .picker-message { display: block; } .picker-message[data-type="danger"] { color: #ea644a; }