mirror of
https://github.com/WebStackPage/WebStackPage.github.io.git
synced 2026-02-11 14:26:14 +08:00
135 lines
4.6 KiB
Plaintext
135 lines
4.6 KiB
Plaintext
/*///////////////////////////////////////
|
|
// Code By Jordan Robert Dobson
|
|
//
|
|
// JordanDobson.com
|
|
// @jordandobson
|
|
// jordandobson@gmail.com
|
|
////////////////////////////////////////*/
|
|
|
|
.xenon-iswitch-generate(@switch-width: 38px; @switch-size: 22px; @switch-space: 2px; @extra-spacing: 0px)
|
|
{
|
|
|
|
@base-font-size: 10px;
|
|
|
|
@switch-off-padding: 0px;
|
|
@switch-on-padding: @switch-size - @switch-space - 4 + @extra-spacing;
|
|
@switch-button-size: @switch-size - (@switch-space*2);
|
|
|
|
@switch-off-border: #eee;
|
|
@switch-on-color: @xe-gray;
|
|
@switch-toggle-color: #fff;
|
|
|
|
@switch-animation-bounce-distance: 0px;
|
|
|
|
input[type="checkbox"]& {
|
|
font-size: @base-font-size;
|
|
position: relative;
|
|
display: inline-block;
|
|
width: @switch-width;
|
|
height: @switch-size;
|
|
line-height: @switch-size;
|
|
border-radius: @switch-size/2;
|
|
margin: 0;
|
|
padding: 0;
|
|
box-shadow: inset 0 0 0 @switch-space @switch-off-border;
|
|
outline: 1px solid transparent !important;
|
|
cursor: pointer;
|
|
border: none;
|
|
background: transparent;
|
|
user-select: none;
|
|
-webkit-tap-highlight-color:rgba(0,0,0,0);
|
|
-webkit-touch-callout: none;
|
|
.appearance(none);
|
|
margin-right: 4px;
|
|
margin-bottom: (@padding-base-vertical + 1);
|
|
|
|
transition: box-shadow .3s ease-in-out, padding .25s ease-in-out;
|
|
transition-delay: .1s, 0s;
|
|
|
|
&:checked {
|
|
transition-delay: 0s, 0s;
|
|
box-shadow: inset 0 0 0 @switch-size/1.75 @switch-on-color !important;
|
|
padding-left: @switch-on-padding;
|
|
}
|
|
|
|
// Styles
|
|
&.iswitch-primary:checked { box-shadow: inset 0 0 0 @switch-size/1.75 @brand-primary !important; }
|
|
&.iswitch-secondary:checked { box-shadow: inset 0 0 0 @switch-size/1.75 @secondary-color !important; }
|
|
&.iswitch-info:checked { box-shadow: inset 0 0 0 @switch-size/1.75 @brand-info !important; }
|
|
&.iswitch-warning:checked { box-shadow: inset 0 0 0 @switch-size/1.75 @brand-warning !important; }
|
|
&.iswitch-danger:checked { box-shadow: inset 0 0 0 @switch-size/1.75 @brand-danger !important; }
|
|
&.iswitch-success:checked { box-shadow: inset 0 0 0 @switch-size/1.75 @brand-success !important; }
|
|
&.iswitch-red:checked { box-shadow: inset 0 0 0 @switch-size/1.75 @xe-red !important; }
|
|
&.iswitch-blue:checked { box-shadow: inset 0 0 0 @switch-size/1.75 @xe-blue !important; }
|
|
&.iswitch-purple:checked { box-shadow: inset 0 0 0 @switch-size/1.75 @xe-purple !important; }
|
|
&.iswitch-pink:checked { box-shadow: inset 0 0 0 @switch-size/1.75 @xe-pink !important; }
|
|
&.iswitch-turquoise:checked { box-shadow: inset 0 0 0 @switch-size/1.75 @xe-turquoise !important; }
|
|
&.iswitch-yellow:checked { box-shadow: inset 0 0 0 @switch-size/1.75 @xe-yellow !important; }
|
|
&.iswitch-orange:checked { box-shadow: inset 0 0 0 @switch-size/1.75 @xe-orange !important; }
|
|
&.iswitch-gray:checked { box-shadow: inset 0 0 0 @switch-size/1.75 darken(@xe-gray, 10%) !important; }
|
|
|
|
/* Animations if supported */
|
|
&.hit{ .animation(~"slide-off .35s ease both"); }
|
|
&.hit:checked{ .animation(~"slide-on .35s ease both .05s"); }
|
|
|
|
&:before,
|
|
&:after{ content: ""; }
|
|
|
|
&:after{
|
|
/* Increases hit area */
|
|
@size-adjust: -(@switch-button-size/3);
|
|
|
|
position: absolute;
|
|
top: @size-adjust;
|
|
left: @size-adjust;
|
|
bottom: @size-adjust;
|
|
right: @size-adjust;
|
|
}
|
|
|
|
&:before {
|
|
display: inline-block;
|
|
height: @switch-button-size;
|
|
width: @switch-button-size;
|
|
margin: @switch-space 0 0 @switch-space;
|
|
background-color: @switch-toggle-color;
|
|
border-radius: @switch-button-size/2;
|
|
box-shadow: 0 @switch-space (@switch-space*2) 0 rgba(0,0,0,.20),
|
|
0 0 (@switch-space/2) (@switch-space/2)rgba(0,0,0,.10);
|
|
.transition(~"all .1s ease .1s");
|
|
}
|
|
|
|
&:active:before{ transition: all .1s ease .05s; }
|
|
&.touch:hover:before{ transition: all .0s ease .00s; }
|
|
|
|
&:active:before,
|
|
&.touch:hover:before{ width: @switch-button-size + (@switch-space); }
|
|
|
|
&:active:checked:before,
|
|
&.touch:hover:checked:before{ margin-left: -(@switch-space*0); }
|
|
|
|
}
|
|
|
|
@keyframes slide-on {
|
|
0% { padding-left: @switch-off-padding; }
|
|
60% { padding-left: @switch-on-padding + @switch-animation-bounce-distance; }
|
|
100% { padding-left: @switch-on-padding; }
|
|
}
|
|
|
|
@keyframes slide-off{
|
|
0% { padding-left: @switch-on-padding; text-indent: 0; }
|
|
60% { padding-left: @switch-off-padding; text-indent: -@switch-animation-bounce-distance; }
|
|
100% { padding-left: @switch-off-padding; text-indent: 0; }
|
|
}
|
|
}
|
|
|
|
.iswitch {
|
|
.xenon-iswitch-generate();
|
|
}
|
|
|
|
.iswitch-lg {
|
|
.xenon-iswitch-generate(50px; 28px; 2px);
|
|
}
|
|
|
|
.iswitch-xlg {
|
|
.xenon-iswitch-generate(85px; 38px; 2px; 15px);
|
|
} |