You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
118 lines
2.0 KiB
118 lines
2.0 KiB
@switchPrefixCls: rc-switch;
|
|
|
|
@duration: 0.3s;
|
|
|
|
.@{switchPrefixCls} {
|
|
position: relative;
|
|
display: inline-block;
|
|
box-sizing: border-box;
|
|
width: 44px;
|
|
height: 22px;
|
|
line-height: 20px;
|
|
padding: 0;
|
|
vertical-align: middle;
|
|
border-radius: 20px 20px;
|
|
border: 1px solid #ccc;
|
|
background-color: #ccc;
|
|
cursor: pointer;
|
|
transition: all @duration cubic-bezier(0.35, 0, 0.25, 1);
|
|
|
|
&-inner {
|
|
color: #fff;
|
|
font-size: 12px;
|
|
position: absolute;
|
|
left: 24px;
|
|
top: 0;
|
|
}
|
|
|
|
&:after {
|
|
position: absolute;
|
|
width: 18px;
|
|
height: 18px;
|
|
left: 2px;
|
|
top: 1px;
|
|
border-radius: 50% 50%;
|
|
background-color: #fff;
|
|
content: ' ';
|
|
cursor: pointer;
|
|
box-shadow: 0 2px 5px rgba(0, 0, 0, 0.26);
|
|
transform: scale(1);
|
|
transition: left @duration cubic-bezier(0.35, 0, 0.25, 1);
|
|
animation-timing-function: cubic-bezier(0.35, 0, 0.25, 1);
|
|
animation-duration: @duration;
|
|
animation-name: rcSwitchOff;
|
|
}
|
|
|
|
&:hover:after {
|
|
transform: scale(1.1);
|
|
animation-name: rcSwitchOn;
|
|
}
|
|
|
|
&:focus {
|
|
box-shadow: 0 0 0 2px tint(#2db7f5, 80%);
|
|
outline: none;
|
|
}
|
|
|
|
&-checked {
|
|
border: 1px solid #87d068;
|
|
background-color: #87d068;
|
|
|
|
.@{switchPrefixCls}-inner {
|
|
left: 6px;
|
|
}
|
|
|
|
&:after {
|
|
left: 22px;
|
|
}
|
|
}
|
|
|
|
&-disabled {
|
|
cursor: no-drop;
|
|
background: #ccc;
|
|
border-color: #ccc;
|
|
|
|
&:after {
|
|
background: #9e9e9e;
|
|
animation-name: none;
|
|
cursor: no-drop;
|
|
}
|
|
|
|
&:hover:after {
|
|
transform: scale(1);
|
|
animation-name: none;
|
|
}
|
|
}
|
|
|
|
&-label {
|
|
display: inline-block;
|
|
line-height: 20px;
|
|
font-size: 14px;
|
|
padding-left: 10px;
|
|
vertical-align: middle;
|
|
white-space: normal;
|
|
pointer-events: none;
|
|
user-select: text;
|
|
}
|
|
}
|
|
|
|
@keyframes rcSwitchOn {
|
|
0% {
|
|
transform: scale(1);
|
|
}
|
|
50% {
|
|
transform: scale(1.25);
|
|
}
|
|
100% {
|
|
transform: scale(1.1);
|
|
}
|
|
}
|
|
|
|
@keyframes rcSwitchOff {
|
|
0% {
|
|
transform: scale(1.1);
|
|
}
|
|
100% {
|
|
transform: scale(1);
|
|
}
|
|
}
|