139 lines
3.4 KiB
CSS
139 lines
3.4 KiB
CSS
/*
|
|
* Copyright (c) 2012-2013 Thibaut Courouble
|
|
* http://www.cssflow.com
|
|
*
|
|
* Licensed under the MIT License:
|
|
* http://www.opensource.org/licenses/mit-license.php
|
|
*/
|
|
|
|
label {
|
|
margin:0;
|
|
padding:0;
|
|
}
|
|
|
|
.switch {
|
|
position: relative;
|
|
display: inline-block;
|
|
vertical-align: top;
|
|
width: 75px;
|
|
height: 20px;
|
|
padding: 3px;
|
|
background-color: white;
|
|
border-radius: 18px;
|
|
box-shadow: inset 0 -1px white, inset 0 1px 1px rgba(0, 0, 0, 0.05);
|
|
cursor: pointer;
|
|
background-image: -webkit-linear-gradient(top, #eeeeee, white 25px);
|
|
background-image: -moz-linear-gradient(top, #eeeeee, white 25px);
|
|
background-image: -o-linear-gradient(top, #eeeeee, white 25px);
|
|
background-image: linear-gradient(to bottom, #eeeeee, white 25px);
|
|
}
|
|
|
|
.switch-input {
|
|
position: absolute;
|
|
top: 0;
|
|
left: 0;
|
|
opacity: 0;
|
|
}
|
|
|
|
.switch-label {
|
|
position: relative;
|
|
display: block;
|
|
height: inherit;
|
|
font-size: 10px;
|
|
text-transform: uppercase;
|
|
background: #eceeef;
|
|
border-radius: inherit;
|
|
box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.12), inset 0 0 2px rgba(0, 0, 0, 0.15);
|
|
-webkit-transition: 0.15s ease-out;
|
|
-moz-transition: 0.15s ease-out;
|
|
-o-transition: 0.15s ease-out;
|
|
transition: 0.15s ease-out;
|
|
-webkit-transition-property: opacity background;
|
|
-moz-transition-property: opacity background;
|
|
-o-transition-property: opacity background;
|
|
transition-property: opacity background;
|
|
}
|
|
|
|
.switch-label:before, .switch-label:after {
|
|
position: absolute;
|
|
top: 50%;
|
|
margin-top: -.5em;
|
|
line-height: 1;
|
|
-webkit-transition: inherit;
|
|
-moz-transition: inherit;
|
|
-o-transition: inherit;
|
|
transition: inherit;
|
|
}
|
|
|
|
.switch-label:before {
|
|
content: attr(data-off);
|
|
right: 11px;
|
|
color: #aaa;
|
|
text-shadow: 0 1px rgba(255, 255, 255, 0.5);
|
|
}
|
|
|
|
.switch-label:after {
|
|
content: attr(data-on);
|
|
left: 11px;
|
|
color: white;
|
|
text-shadow: 0 1px rgba(0, 0, 0, 0.2);
|
|
opacity: 0;
|
|
}
|
|
|
|
.switch-input:checked ~ .switch-label {
|
|
background: #3b6eb4;
|
|
box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.15), inset 0 0 3px rgba(0, 0, 0, 0.2);
|
|
}
|
|
|
|
.switch-input:checked ~ .switch-label:before {
|
|
opacity: 0;
|
|
}
|
|
|
|
.switch-input:checked ~ .switch-label:after {
|
|
opacity: 1;
|
|
}
|
|
|
|
.switch-handle {
|
|
position: absolute;
|
|
top: 4px;
|
|
left: 4px;
|
|
width: 18px;
|
|
height: 18px;
|
|
background: white;
|
|
border-radius: 10px;
|
|
box-shadow: 1px 1px 5px rgba(0, 0, 0, 0.2);
|
|
background-image: -webkit-linear-gradient(top, white 40%, #f0f0f0);
|
|
background-image: -moz-linear-gradient(top, white 40%, #f0f0f0);
|
|
background-image: -o-linear-gradient(top, white 40%, #f0f0f0);
|
|
background-image: linear-gradient(to bottom, white 40%, #f0f0f0);
|
|
-webkit-transition: left 0.15s ease-out;
|
|
-moz-transition: left 0.15s ease-out;
|
|
-o-transition: left 0.15s ease-out;
|
|
transition: left 0.15s ease-out;
|
|
}
|
|
|
|
.switch-handle:before {
|
|
content: '';
|
|
position: absolute;
|
|
top: 50%;
|
|
left: 50%;
|
|
margin: -6px 0 0 -6px;
|
|
width: 12px;
|
|
height: 12px;
|
|
background: #f9f9f9;
|
|
border-radius: 6px;
|
|
box-shadow: inset 0 1px rgba(0, 0, 0, 0.02);
|
|
background-image: -webkit-linear-gradient(top, #eeeeee, white);
|
|
background-image: -moz-linear-gradient(top, #eeeeee, white);
|
|
background-image: -o-linear-gradient(top, #eeeeee, white);
|
|
background-image: linear-gradient(to bottom, #eeeeee, white);
|
|
}
|
|
|
|
.switch-input:checked ~ .switch-handle {
|
|
left: 59px;
|
|
box-shadow: -1px 1px 5px rgba(0, 0, 0, 0.2);
|
|
}
|
|
|
|
.switch-green > .switch-input:checked ~ .switch-label {
|
|
background: #4fb845;
|
|
}
|