jdvue
Version:
A Vue.js 2.0 Mobile UI components at JinDanLiCai
200 lines (184 loc) • 6.24 kB
text/less
.v-key-input{
height: 36px;
&-tag{
vertical-align: middle;
overflow: hidden;
}
&-placeholder{
float: left;
font-size: 20px;
margin-left: 5px;
color: @gray-min;
}
&-text{
position: relative;
height: 34px;
line-height: 34px;
overflow: hidden;
font-size: 30px;
padding: 0 10px;
display: inline-block;
}
&-blink{
position: absolute;
top: 50%;
margin-top: -0.6em;
margin-left: 3px;
width: 2px;
height: 1.2em;
animation: blink 1s infinite;
@keyframes blink {
0%, 100% {
background-color: @blue;
}
50% {
background-color: transparent;
}
}
}
}
.v-password{
margin: 0 15px;
user-select: none;
position: relative;
&:focus {
outline: none;
}
&-security {
width: 100%;
height: 50px;
display: flex;
background-color: #fff;
&::after {
border-radius: 6px;
}
li {
flex: 1;
height: 100%;
position: relative;
&:not(:first-of-type)::after {
border-left-width: 1px;
}
}
i {
position: absolute;
left: 50%;
top: 50%;
width: 10px;
height: 10px;
margin: -5px 0 0 -5px;
visibility: hidden;
border-radius: 100%;
background-color: @master;
}
}
&-text{
text-align: center;
line-height: 50px;
}
}
.v-key{
position: fixed;
z-index: 100;
left: 0;
bottom: 0;
width: 100%;
background: #fff;
user-select: none;
&-up {
&-enter-active {
animation: v-up-enter .3s both ease;
}
&-leave-active {
animation: v-up-leave .3s both ease;
}
}
@keyframes v-up-enter {
from {
transform: translate3d(0, 100%, 0);
}
}
@keyframes v-up-leave {
to {
transform: translate3d(0, 100%, 0);
}
}
&-title{
height: 40px;
line-height: 40px;
text-align: center;
position: relative;
font-size: 14px;
color: @red;
&-close{
position: absolute;
right: 0;
color: @blue;
padding: 0 15px;
}
&-icon{
margin-right: 5px;
margin-top: -2px;
}
}
&-body{
box-sizing: border-box;
color: @master;
}
&-slide{
position: absolute;
right: 0;
bottom: 0;
width: 25%;
height: 216px;
}
&-item{
position: relative;
display: inline-block;
width: 33.33333%;
height: 54px;
line-height: 54px;
font-size: 24px;
text-align: center;
vertical-align: middle;
user-select: none;
&::after {
border-width: 1px 1px 0 0;
}
}
&-middle{
/*
此时刚好不多不少
*/
width: 66.66%;
}
&-big{
width: 100%;
height: 108px;
line-height: 108px;
}
&-delete{
font-size: 0;
background: url("data:image/png;base64,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") no-repeat center center;
background-size: auto 15px;
}
&-ok{
font-size: 20px;
color: #fff;
background-color: @green;
&::after{
border-color: @green;
}
}
&-active{
background-color: #e8e8e8;
}
/*&-gray{
background-color: @gray-bg;
}*/
}
.v-key-custom {
.v-key-body{
padding-right: 25%;
}
}