lu2
Version:
Simple and flexible UI component library based on native HTML and JavaScript
301 lines (265 loc) • 5.94 kB
CSS
@charset "UTF-8";
/**
*
* @Color.css
* @author xinxuzhang
* @create 16-06-03
**/
.ui-color-input,
[type='color']:not([is-visible]) {
width: 40px; height: 40px;
margin: 0; padding: 0;
border: 0 none;
opacity: 0;
vertical-align: middle;
/* remove IE caret光标 */
text-indent: -999px;
position: relative;
z-index: -1;
}
.ui-color-track {
display: inline;
/* 重要,不会换行 */
position: absolute;
width: 40px; height: 40px;
border-radius: 4px;
background-color: rgba(25, 28, 34, 0.2);
cursor: pointer;
}
.ui-color-thumb {
display: block;
margin: 7px auto;
width: 24px; height: 24px;
border: 1px solid #f7f9fa;
border-radius: 3px;
background-color: #4c5161;
background-clip: content-box;
transition: background-color .25s;
}
.ui-color-container {
display: none;
position: absolute;
width: 241px;
padding: 10px 12px;
border-radius: 4px;
background-color: #f7f9fa;
box-shadow: 0 2px 5px rgba(0, 0, 0, .25);
font-size: 14px;
animation: fadeIn .2s;
z-index: 21;
}
.ui-color-switch {
position: absolute;
top: 12px; right: 12px;
color: #2a80eb;
border: 1px solid transparent;
height: 20px;
line-height: 20px;
padding: 2px 5px;
border-radius: 3px;
background: none;
font-family: inherit;
transition: border-color .2s, background-color .2s;
box-sizing: content-box;
}
.ui-color-switch:hover {
background-color: #fff;
border-color: #d0d0d5;
background-color: #fff;
}
.ui-color-switch:active {
line-height: normal;
}
.ui-color-current {
padding-bottom: 20px;
}
.ui-color-current-square {
display: inline-block;
width: 20px; height: 20px;
margin-right: 5px;
border-radius: 3px;
box-shadow: inset 0 1px rgba(0, 0, 0, .25), inset 0 -1px rgba(0, 0, 0, .25), inset 1px 0 rgba(0, 0, 0, .25), inset -1px 0 rgba(0, 0, 0, .25);
background-color: currentColor;
vertical-align: middle;
}
.ui-color-current-input {
width: 72px;
border: 1px solid #d0d0d5;
background-color: #fff;
height: 20px;
line-height: 20px;
padding: 2px 5px;
border-radius: 3px;
margin-left: 5px;
font-size: 13px;
vertical-align: middle;
box-sizing: content-box;
text-transform: uppercase;
color: inherit;
}
.ui-color-body {
min-height: 100px;
}
.ui-color-basic {
overflow: hidden;
}
.ui-color-lump-group {
width: 72px;
float: left;
}
.ui-color-lump {
display: block;
width: 11px;
height: 11px;
margin: 0 1px 1px 0;
box-sizing: border-box;
background-color: currentColor;
}
.ui-color-lump:hover,
.ui-color-basic a.active {
border: 1px solid #fff;
}
.ui-color-basic-l {
width: 12px;
float: left;
overflow: hidden;
}
.ui-color-basic-r {
margin-left: 25px;
overflow: hidden;
}
.ui-color-basic-r .ui-color-lump {
float: left;
}
.ui-color-more {
display: none;
height: 100px;
}
.ui-color-more svg {
width: 100%;
height: 100%;
}
.ui-color-more-l {
width: 180px;
height: inherit;
float: left;
position: relative;
}
.ui-color-cover-white {
background-color: rgba(0, 0, 0, 0);
background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0), #808080);
filter: progid:DXImageTransform.Microsoft.gradient(startcolorstr=#00808080,endcolorstr=#FF808080,gradientType=0);
cursor: crosshair;
}
.ui-color-circle {
position: absolute;
left: 0;
top: 0;
width: 16px;
height: 16px;
border: 3px solid #fff;
border-radius: 20px;
background-color: #f00;
background-clip: content-box;
-ms-transform: translate(-11px, -11px);
transform: translate(-11px, -11px);
pointer-events: none;
}
.ui-color-more-r {
height: inherit;
float: right;
padding-right: 8px;
position: relative;
}
.ui-color-more-fill {
display: block;
width: 16px;
height: 100%;
background-color: #f00;
}
.ui-color-cover-white,
.ui-color-more-cover {
position: absolute;
left: 0;
top: 0;
width: inherit;
height: 100px;
}
.ui-color-more-cover {
background-color: rgba(0, 0, 0, 0.01);
-webkit-tap-highlight-color: transparent;
}
.ui-color-more-arrow {
position: absolute;
right: 0;
top: 100%;
}
.ui-color-more-arrow::before {
content: '';
position: absolute;
right: 0;
top: -5px;
width: 0;
height: 0;
border-width: 5px 6px;
border-style: solid;
border-color: transparent;
border-right-color: #36383f;
overflow: hidden;
}
.ui-color-footer {
margin-top: 15px;
padding-bottom: 5px;
text-align: right;
}
.ui-color-button-cancel,
.ui-color-button-ensure {
display: inline-block;
width: 80px;
line-height: 20px;
padding-top: 8px;
padding-bottom: 8px;
margin-left: 15px;
border-radius: 4px;
text-align: center;
font-size: 14px;
font-family: inherit;
transition: box-shadow .2s, border-color .2s;
cursor: pointer;
}
.ui-color-button-cancel {
border: 1px solid #d0d0d5;
background-color: #fff;
color: #4c5161;
}
.ui-color-button-cancel:hover {
border-color: #ababaf;
color: #4c5161;
}
.ui-color-button-ensure {
border: 1px solid #2a80eb;
background-color: #2a80eb;
color: #fff;
}
.ui-color-button-ensure:hover {
color: #fff;
}
.ui-color-button-cancel:hover,
.ui-color-button-ensure:hover {
box-shadow: inset 0 1px 2px rgba(0,0,0,.01), inset 0 0 0 100px rgba(0,0,0,.05);
}
.ui-color-button-cancel:active,
.ui-color-button-ensure:active {
box-shadow: inset 0 1px 2px rgba(0,0,0,.1), inset 0 0 0 100px rgba(0,0,0,.1);
}
@media (prefers-reduced-motion: reduce) {
.ui-color-container {
animation: none;
}
.ui-color-thumb,
.ui-color-switch,
.ui-color-button-cancel,
.ui-color-button-ensure {
transition: none;
}
}