The first 2 are designed with depth and lighting, while the 3rd one is flatly designed with a somewhat "gooey"-ish transition on it.
A Pen by Billy Crist on CodePen.
<div class="wrap"> | |
<input type="checkbox" id="s1" /> | |
<label class="slider-v1" for="s1"></label> | |
<input type="checkbox" id="s2" checked="" /> | |
<label class="slider-v1" for="s2"></label> | |
</div><!--/wrap--> | |
<div class="wrap"> | |
<input type="checkbox" id="s3" /> | |
<label class="slider-v2" for="s3"></label> | |
<input type="checkbox" id="s4" checked="" /> | |
<label class="slider-v2" for="s4"></label> | |
</div><!--/wrap--> | |
<div class="wrap"> | |
<input type="checkbox" id="s5" /> | |
<label class="slider-v3" for="s5"></label> | |
<input type="checkbox" id="s6" checked="" /> | |
<label class="slider-v3" for="s6"></label> | |
</div><!--/wrap--> |
@import "compass"; | |
html,body { height:100% } | |
body { background:linear-gradient(#f7f7f7,#e0e0e0); margin:0 } | |
.wrap { position:relative; width:33.33%; margin:-72px 0; top:50%; float:left } | |
label { margin:1.5em auto } | |
input { position:absolute; left:-9999px } | |
// **** ==== Slider v1: ==== **** // | |
// ********** Background: | |
.slider-v1 { | |
position: relative; display: block; | |
width: 5.5em; height: 3em; | |
cursor: pointer; | |
border-radius: 1.5em; | |
transition: 350ms; | |
background: linear-gradient(rgba(#000,0.07),rgba(#fff,0)),#ddd; | |
box-shadow: | |
0 0.07em 0.1em -0.1em rgba(#000,.4) inset, | |
0 0.05em 0.08em -0.01em rgba(#fff,.7); | |
} | |
// ********** Switch: | |
.slider-v1::before { | |
position: absolute; content:''; | |
width: 2em; height: 2em; | |
top: 0.5em; left: 0.5em; | |
border-radius: 50%; | |
transition: 250ms ease-in-out; | |
background: linear-gradient(#f5f5f5 10%,#eee); | |
box-shadow: | |
0 0.1em 0.15em -0.05em rgba(#fff,.9 | |
) inset, | |
0 0.5em 0.3em -0.1em rgba(#000,.25); | |
} | |
// ********** Markers: | |
.slider-v1::after { | |
position: absolute; content:''; | |
width: 1em; height: 1em; | |
top: 1em; left: 6em; | |
border-radius: 50%; | |
transition: 250ms ease-in; | |
background: linear-gradient(rgba(#000,0.07),rgba(#fff,0.1)),#ddd; | |
box-shadow: | |
0 0.08em 0.15em -0.1em rgba(#000,.5) inset, | |
0 0.05em 0.08em -0.01em rgba(#fff,.7), | |
-7.25em 0 0 -0.25em rgba(#000,.3); | |
} | |
input:checked + .slider-v1::after { | |
background: linear-gradient(rgba(#000,0.07),rgba(#fff,0.1)),#4c6; | |
box-shadow: | |
0 0.08em 0.15em -0.1em rgba(#000,.5) inset, | |
0 0.05em 0.08em -0.01em rgba(#fff,.7), | |
-7.25em 0 0 -0.25em rgba(#000,.12); | |
} | |
input:checked + .slider-v1::before { | |
left: 3em; | |
} | |
// **** ==== Slider v2 ==== **** // | |
// ********** Background: | |
.slider-v2 { | |
position: relative; display: block; | |
width: 5.5em; height: 3em; | |
cursor: pointer; | |
border-radius: 1.5em; | |
transition: 350ms; | |
background: linear-gradient(rgba(#000,0.07),rgba(#fff,0)),#ddd; | |
box-shadow: | |
0 0.07em 0.1em -0.1em rgba(#000,.4) inset, | |
0 0.05em 0.08em -0.01em rgba(#fff,.7); | |
} | |
// ********** Switch: | |
.slider-v2::after { | |
position: absolute; content:''; | |
width: 2em; height: 2em; | |
top: 0.5em; left: 0.5em; | |
border-radius: 50%; | |
transition: 250ms ease-in-out; | |
background: linear-gradient(#f5f5f5 10%,#eee); | |
box-shadow: | |
0 0.1em 0.15em -0.05em rgba(#fff,.9 | |
) inset, | |
0 0.2em 0.2em -0.12em rgba(#000,.5); | |
} | |
// ********** Channel: | |
.slider-v2::before { | |
position: absolute; content:''; | |
width: 4em; height: 1.5em; | |
top: 0.75em; left: 0.75em; | |
border-radius: 0.75em; | |
transition: 250ms ease-in-out; | |
background: linear-gradient(rgba(#000,0.07),rgba(#fff,0.1)),#d0d0d0; | |
box-shadow: | |
0 0.08em 0.15em -0.1em rgba(#000,.5) inset, | |
0 0.05em 0.08em -0.01em rgba(#fff,.7), | |
0 0 0 0 rgba(#4c6,.7) inset; | |
} | |
input:checked + .slider-v2::before { | |
box-shadow: | |
0 0.08em 0.15em -0.1em rgba(#000,.5) inset, | |
0 0.05em 0.08em -0.01em rgba(#fff,.7), | |
3em 0 0 0 rgba(#4c6,.7) inset; | |
} | |
input:checked + .slider-v2::after { | |
left: 3em; | |
} | |
// **** ==== Slider v3 ==== **** // | |
// ********** Background: | |
.slider-v3 { | |
position: relative; display: block; | |
width: 7em; height: 3em; | |
cursor: pointer; | |
border-radius: 1.5em; | |
transition: 350ms; | |
background: #ddd; | |
} | |
// ********** Switch: | |
.slider-v3::after { | |
position: absolute; content:''; | |
width: 2em; height: 2em; | |
top: 0.5em; left: 0.5em; | |
border-radius: 1.5em; | |
transition: | |
width 200ms ease-out, | |
height 300ms 50ms ease-in, | |
top 300ms 50ms ease-in, | |
left 250ms 50ms ease-in, | |
box-shadow 300ms ease-in; | |
background: #4c6; | |
box-shadow: 0 0 0 1.5em #f2f2f2 inset; | |
} | |
input:checked + .slider-v3::after { | |
width: 4em; height: 3em; | |
top: 0; left: 3em; | |
box-shadow: 0 0 0 0 #f2f2f2 inset; | |
} |
The first 2 are designed with depth and lighting, while the 3rd one is flatly designed with a somewhat "gooey"-ish transition on it.
A Pen by Billy Crist on CodePen.