drip-ui
Version:
Lightweight Mobile UI Components built on Vue
164 lines (144 loc) • 2.88 kB
CSS
.picker {
overflow: hidden;
}
.picker-toolbar {
height: 40PX;
}
.picker-items {
display: flex;
justify-content: center;
padding: 0;
text-align: right;
font-size: 24PX;
position: relative;
}
.picker-center-highlight {
box-sizing: border-box;
position: absolute;
left: 0;
width: 100%;
top: 50%;
margin-top: -18PX;
pointer-events: none
}
.picker-center-highlight:before,
.picker-center-highlight:after {
content: '';
position: absolute;
height: 1PX;
width: 100%;
background-color: #eaeaea;
display: block;
z-index: 15;
transform: scaleY(0.5);
}
.picker-center-highlight:before {
left: 0;
top: 0;
bottom: auto;
right: auto;
}
.picker-center-highlight:after {
left: 0;
bottom: 0;
right: auto;
top: auto;
}
.picker-slot {
overflow: hidden;
position: relative;
max-height: 100%;
}
.picker-slot-mark_top {
position: absolute;
top: 0;
z-index: 1;
left: 0;
width: 100%;
pointer-events: none;
-webkit-transform: translateZ(0);
transform: translateZ(0);
background: linear-gradient(0deg,hsla(0,0%,100%,.4),hsla(0,0%,100%,.8));
}
.picker-slot-mark_bottom {
position: absolute;
bottom: 0;
z-index: 1;
left: 0;
width: 100%;
pointer-events: none;
-webkit-transform: translateZ(0);
transform: translateZ(0);
background: linear-gradient(180deg,hsla(0,0%,100%,.4),hsla(0,0%,100%,.8));
}
.picker-slot.picker-slot-left {
text-align: left;
}
.picker-slot.picker-slot-center {
text-align: center;
}
.picker-slot.picker-slot-right {
text-align: right;
}
.picker-slot.picker-slot-divider {
color: #000;
display: flex;
align-items: center
}
.picker-slot-wrapper {
transition-duration: 0.3s;
transition-timing-function: ease-out;
backface-visibility: hidden;
}
.picker-slot-wrapper.dragging,
.picker-slot-wrapper.dragging .picker-item {
transition-duration: 0s;
}
.picker-item {
height: 36PX;
line-height: 36PX;
padding: 0 10PX;
white-space: nowrap;
position: relative;
overflow: hidden;
text-overflow: ellipsis;
color: #707274;
left: 0;
top: 0;
width: 100%;
box-sizing: border-box;
transition-duration: .3s;
backface-visibility: hidden;
font-size: 14PX;
}
.picker-slot-absolute .picker-item {
position: absolute;
}
.picker-item.picker-item-far {
pointer-events: none
}
.picker-item.picker-selected {
height: 50PX ;
line-height: 50PX ;
color: #000;
background: #fff;
font-size: 20PX;
transform: translate3d(0, 0, 0) rotateX(0);
}
.picker-3d .picker-items {
overflow: hidden;
perspective: 700PX;
}
.picker-3d .picker-item,
.picker-3d .picker-slot,
.picker-3d .picker-slot-wrapper {
transform-style: preserve-3d
}
.picker-3d .picker-slot {
overflow: visible
}
.picker-3d .picker-item {
transform-origin: center center;
backface-visibility: hidden;
transition-timing-function: ease-out
}