react-cqtoolbox
Version:
[![Travis][build-badge]][build] [![npm package][npm-badge]][npm] [![Coveralls][coveralls-badge]][coveralls]
167 lines (152 loc) • 3.76 kB
CSS
.field {
display: block;
margin-bottom: 15px;
position: relative;
white-space: normal;
box-sizing: border-box;
font-family: Microsoft Yahei,Helvetica Neue,\\5B8B\4F53,Helvetica,Arial,sans-serif;
-webkit-font-smoothing: antialiased;
font-smoothing: antialiased;
-webkit-text-size-adjust: 100%;
-ms-text-size-adjust: 100%;
text-size-adjust: 100%;
}
.field *,
.field *::after,
.field *::before {
box-sizing: border-box;
-webkit-font-smoothing: antialiased;
font-smoothing: antialiased;
-webkit-text-size-adjust: 100%;
-ms-text-size-adjust: 100%;
text-size-adjust: 100%;
-webkit-touch-callout: none;
}
.text {
color: rgb(33, 33, 33);
display: inline-block;
font-size: 14px;
line-height: 24px;
padding-left: 10px;
vertical-align: top;
white-space: nowrap;
}
.thumb {
border-radius: 50%;
cursor: pointer;
height: 20px;
position: absolute;
top: -3px;
-webkit-transition-duration: 0.28s;
transition-duration: 0.28s;
-webkit-transition-property: left;
transition-property: left;
-webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
width: 20px;
box-sizing: border-box;
font-family: Microsoft Yahei,Helvetica Neue,\\5B8B\4F53,Helvetica,Arial,sans-serif;
-webkit-font-smoothing: antialiased;
font-smoothing: antialiased;
-webkit-text-size-adjust: 100%;
-ms-text-size-adjust: 100%;
text-size-adjust: 100%
}
.thumb *,
.thumb *::after,
.thumb *::before {
box-sizing: border-box;
-webkit-font-smoothing: antialiased;
font-smoothing: antialiased;
-webkit-text-size-adjust: 100%;
-ms-text-size-adjust: 100%;
text-size-adjust: 100%;
-webkit-touch-callout: none;
}
.thumb .ripple {
background-color: rgb(0, 188, 212);
opacity: 0.3;
-webkit-transition-duration: 650ms;
transition-duration: 650ms;
}
.on,
.off {
border-radius: 14px;
cursor: pointer;
display: inline-block;
height: 14px;
margin-top: 5px;
position: relative;
vertical-align: top;
width: 36px;
}
.on {
background: rgba(0, 188, 212, 0.5)
}
.on .thumb {
background: rgb(0, 188, 212);
box-shadow: 0 3px 4px 0 rgba(0, 0, 0, .14),
0 3px 3px -2px rgba(0, 0, 0, .2),
0 1px 8px 0 rgba(0, 0, 0, .12);
left: 16px;
}
.off {
background: rgba(0, 0, 0, 0.26)
}
.off .thumb {
background: rgb(250, 250, 250);
box-shadow: 0 2px 2px 0 rgba(0, 0, 0, .14),
0 3px 1px -2px rgba(0, 0, 0, .2),
0 1px 5px 0 rgba(0, 0, 0, .12);
left: 0;
}
.off .ripple {
background: rgba(0, 0, 0, 0.4);
}
.input {
height: 0;
opacity: 0;
overflow: hidden;
width: 0
}
.input:focus:not(:active) {}
.input:focus:not(:active) + .switch-on > .thumb::before,
.input:focus:not(:active) + .switch-off > .thumb::before {
background-color: transparent;
border-radius: 50%;
box-sizing: border-box;
content: '';
display: inline-block;
height: 8px;
left: 50%;
position: absolute;
top: 50%;
-webkit-transform: translate(-4px, -4px);
-ms-transform: translate(-4px, -4px);
transform: translate(-4px, -4px);
width: 8px;
}
.input:focus:not(:active) + .switch-on > .thumb::before {
background-color: rgba(0, 188, 212, 0.26);
box-shadow: 0 0 0 20px rgba(0, 188, 212, 0.26);
}
.input:focus:not(:active) + .switch-off > .thumb::before {
background-color: rgba(0, 0, 0, 0.1);
box-shadow: 0 0 0 20px rgba(0, 0, 0, 0.1);
}
.disabled {
composes: field
}
.disabled .text {
color: rgba(0, 0, 0, 0.26);
}
.disabled .on,
.disabled .off {
background: rgba(0, 0, 0, 0.12);
cursor: auto;
}
.disabled .thumb {
background-color: rgb(189, 189, 189);
border-color: transparent;
cursor: auto;
}