<button id="bam">Click Me!</button>
<section class="container">
<!-- input:checked along with the + and ~ selectors can be used to watch for a state change with CSS-->
<input type="checkbox" id="menu1" />
<label for="menu1">
<div></div>
<div></div>
<div></div>
</label>
<input type="checkbox" id="menu2" />
<label for="menu2">
<div></div>
<div></div>
<div></div>
</label>
<input type="checkbox" id="menu3" />
<label for="menu3">
<div></div>
<div></div>
<div></div>
</label>
<input type="checkbox" id="menu4" />
<label for="menu4">
<div></div>
<div></div>
<div></div>
</label>
<input type="checkbox" id="menu5" />
<label for="menu5">
<div></div>
<div></div>
<div></div>
</label>
<input type="checkbox" id="menu6" />
<label for="menu6">
<div></div>
<div></div>
<div></div>
</label>
<input type="checkbox" id="menu7" />
<label for="menu7">
<div></div>
<div></div>
<div></div>
</label>
<input type="checkbox" id="menu8" />
<label for="menu8">
<div></div>
<div></div>
<div></div>
</label>
<input type="checkbox" id="menu9" />
<label for="menu9">
<div></div>
<div></div>
<div></div>
</label>
<input type="checkbox" id="menu10" />
<label for="menu10">
<div></div>
<div></div>
<div></div>
</label>
<input type="checkbox" id="menu11" />
<label for="menu11">
<div></div>
<div></div>
<div></div>
</label>
<input type="checkbox" id="menu12" />
<label for="menu12">
<div></div>
<div></div>
<div></div>
</label>
<input type="checkbox" id="menu13" />
<label for="menu13">
<div></div>
<div></div>
<div></div>
</label>
<input type="checkbox" id="menu14" />
<label for="menu14">
<div></div>
<div></div>
<div></div>
</label>
<input type="checkbox" id="menu15" />
<label for="menu15">
<div></div>
<div></div>
<div></div>
</label>
<input type="checkbox" id="menu16" />
<label for="menu16">
<div></div>
<div></div>
<div></div>
</label>
<input type="checkbox" id="menu17" />
<label for="menu17">
<div></div>
<div></div>
<div></div>
</label>
<input type="checkbox" id="menu18" />
<label for="menu18">
<div></div>
<div></div>
<div></div>
</label>
<input type="checkbox" id="menu19" />
<label for="menu19">
<div></div>
<div></div>
<div></div>
</label>
<input type="checkbox" id="menu20" />
<label for="menu20">
<div></div>
<div></div>
<div></div>
</label>
<input type="checkbox" id="menu21" />
<label for="menu21">
<div></div>
<div></div>
<div></div>
</label>
<input type="checkbox" id="menu22" />
<label for="menu22">
<div></div>
<div></div>
<div></div>
</label>
<input type="checkbox" id="menu23" />
<label for="menu23">
<div></div>
<div></div>
<div></div>
</label>
<input type="checkbox" id="menu24" />
<label for="menu24">
<div></div>
<div></div>
<div></div>
</label>
<input type="checkbox" id="menu25" />
<label for="menu25">
<div></div>
<div></div>
<div></div>
</label>
<input type="checkbox" id="menu26" />
<label for="menu26">
<div></div>
<div></div>
<div></div>
</label>
<input type="checkbox" id="menu27" />
<label for="menu27">
<div></div>
<div></div>
<div></div>
</label>
<input type="checkbox" id="menu28" />
<label for="menu28">
<div></div>
<div></div>
<div></div>
</label>
<input type="checkbox" id="menu29" />
<label for="menu29">
<div></div>
<div></div>
<div></div>
</label>
<input type="checkbox" id="menu30" />
<label for="menu30">
<div></div>
<div></div>
<div></div>
</label>
<input type="checkbox" id="menu31" />
<label for="menu31">
<div></div>
<div></div>
<div></div>
</label>
<input type="checkbox" id="menu32" />
<label for="menu32">
<div></div>
<div></div>
<div></div>
</label>
<input type="checkbox" id="menu33" />
<label for="menu33">
<div></div>
<div></div>
<div></div>
</label>
<input type="checkbox" id="menu34" />
<label for="menu34">
<div></div>
<div></div>
<div></div>
</label>
<input type="checkbox" id="menu35" />
<label for="menu35">
<div></div>
<div></div>
<div></div>
</label>
<input type="checkbox" id="menu36" />
<label for="menu36">
<div></div>
<div></div>
<div></div>
</label>
<input type="checkbox" id="menu37" />
<label for="menu37">
<div></div>
<div></div>
<div></div>
</label>
</section>
<!-- / container -->
/*
Setting up the Pen
===================================
Specific styles below
*/
$bg-clr: #fff;
$icn-clr: #000;
body {
text-align: center;
background: $bg-clr;
}
b {
position: absolute;
top: 40px;
text-align: center;
z-index: -1;
}
#bam {
display: inline-block;
width: 100px;
margin-top: 10px;
padding: 5px;
border-bottom: 4px solid lighten($icn-clr, 10%);
border-radius: 10px;
background: $icn-clr;
color: $bg-clr;
cursor: pointer;
position: absolute;
left: calc(50% - 40px);
top: 10px;
transition: all .25s;
&:focus {
outline: none;
transform: scale(1.05);
}
&:hover {
border-bottom: 6px solid lighten($icn-clr, 10%);
top: 8px;
}
&:active {
border-bottom: 1px solid lighten($icn-clr, 10%);
top: 13px;
}
}
.container {
margin-top: 50px;
text-align: center;
}
/*
General styles for all menus
Default State
====================================
*/
input {
display: none;
}
label {
position: relative;
width: 50px;
height: 40px;
display: inline-block;
cursor: pointer;
margin: 1.7em;
transition: all .5s;
text-align: left;
}
div,
div:before,
div:after {
background: $icn-clr;
position: absolute;
height: 5px;
width: 50px;
border-radius: 4px;
transition: all .5s;
}
label {
div:first-child {
top: 0px;
}
div:nth-child(2) {
top: 10px;
}
div:nth-child(3) {
top: 20px;
}
}
/*
Specific styles for each menu
====================================
*/
// The + selector targets the sibling immediately after, in CSS3 the ~ slector can be used to target a sibling later in the html document not just immediately after
// This CSS will only triger when the label is after a checkbox with an id of menu1 that is checked, if the checkbox is not checked it goes back to the previous default state CSS
// The animations occur because of the transition property applied above
#menu1:checked+label {
div:first-child {
opacity: 0;
top: 20px;
width: 0px;
transform: rotate(225deg);
}
div:nth-child(2) {
top: 12px;
transform: rotate(-315deg);
width: 35px;
}
div:nth-child(3) {
top: 12px;
transform: rotate(495deg);
width: 35px;
}
}
#menu2:checked+label {
div:first-child {
opacity: 0;
top: 20px;
width: 0px;
transform: rotate(-45deg);
}
div:nth-child(2) {
top: 12px;
transform: rotate(-45deg);
width: 35px;
}
div:nth-child(3) {
top: 12px;
transform: rotate(45deg);
width: 35px;
}
}
#menu3:checked+label {
div:first-child {
top: 10px;
left: 12px;
height: 20px;
width: 20px;
transform: rotate(-45deg);
background: rgba(255, 255, 255, 0);
border-left: 5px solid $icn-clr;
border-bottom: 5px solid $icn-clr;
}
div:nth-child(2) {
top: 0px;
left: 7px;
transform: rotate(-225deg);
width: 35px;
}
div:nth-child(3) {
top: 0px;
left: 7px;
transform: rotate(45deg);
width: 35px;
}
div:nth-child(3):before {
content: "";
top: 16px;
left: 23px;
opacity: 1;
transform: rotate(45deg);
display: block;
background: $icn-clr;
position: absolute;
height: 5px;
width: 21px;
transition: all .5s;
}
}
#menu4:checked+label {
div:first-child {
top: 14px;
left: 12px;
height: 20px;
width: 20px;
transform: rotate(-45deg);
background: rgba(255, 255, 255, 0);
border-right: 5px solid $icn-clr;
border-top: 5px solid $icn-clr;
}
div:nth-child(2) {
top: 0px;
left: 7px;
transform: rotate(-225deg);
width: 35px;
}
div:nth-child(3) {
top: 0px;
left: 7px;
transform: rotate(45deg);
width: 35px;
}
div:nth-child(3):before {
content: "";
top: 16px;
left: 23px;
opacity: 1;
transform: rotate(45deg);
display: block;
background: $icn-clr;
position: absolute;
height: 5px;
width: 21px;
transition: all .5s;
}
}
#menu5+label {
div:first-child:before {
content: "";
top: 0px;
left: 34px;
height: 0px;
width: 0px;
transform: rotate(0deg);
background: rgba(255, 255, 255, 0);
border-right: 0px solid $icn-clr;
border-top: 0px solid $icn-clr;
}
div:first-child:after {
content: "";
top: 0px;
left: -1px;
height: 0px;
width: 0px;
transform: rotate(0deg);
background: rgba(255, 255, 255, 0);
border-right: 0px solid $icn-clr;
border-top: 0px solid $icn-clr;
}
}
#menu5:checked+label {
div:first-child {
top: 14px;
left: 12px;
height: 20px;
width: 20px;
transform: rotate(-45deg);
background: rgba(255, 255, 255, 0);
border-right: 5px solid $icn-clr;
border-top: 5px solid $icn-clr;
}
div:nth-child(2) {
top: 0px;
left: 7px;
transform: rotate(-225deg);
width: 35px;
}
div:nth-child(3) {
top: 0px;
left: 7px;
transform: rotate(45deg);
width: 35px;
}
}
#menu6+label {
div:nth-child(2) {
left: 0px;
}
div:first-child:before,
div:first-child:after {
content: "";
width: 5px;
height: 0px;
}
div:first-child:after {
left: 45px;
}
}
#menu6:checked+label {
div:first-child:before {
content: "";
width: 5px;
height: 25px;
}
div:first-child:after {
content: "";
width: 5px;
height: 25px;
left: 45px;
}
div:nth-child(2) {
top: 10px;
left: 12px;
width: 25px;
}
}
#menu7:checked+label {
div:first-child {
top: 10px;
}
div:nth-child(2) {
transform: rotate(990deg);
}
div:nth-child(3) {
top: 10px;
}
}
#menu8:checked+label {
div:first-child {
top: 10px;
}
div:nth-child(2) {
transform: rotate(1080deg);
}
div:nth-child(3) {
top: 10px;
}
}
#menu9+label {
div:nth-child(3),
div:nth-child(2) {
left: 0px;
}
}
#menu9:checked+label {
div:first-child {
height: 36px;
top: -3px;
}
div:nth-child(2) {
background: none;
border: 2px solid $bg-clr;
height: 15px;
top: 2px;
left: 3px;
width: 25px;
}
div:nth-child(3) {
background: none;
border: 2px solid $bg-clr;
height: 15px;
width: 25px;
top: 10px;
left: 18px;
}
}
#menu10+label {
div:nth-child(2) {
left: 0px;
z-index: 2;
}
}
#menu10:checked+label {
div:first-child {
height: 36px;
top: -3px;
border-radius: 50%;
}
div:nth-child(2) {
background: $bg-clr;
transform: rotate(360deg);
height: 5px;
top: 13px;
left: 7px;
width: 35px;
z-index: 2;
}
div:nth-child(3) {
height: 36px;
top: -3px;
z-index: 1;
border-radius: 50%;
}
}
#menu11+label {
div:nth-child(3):after {
height: 20px;
width: 20px;
transform: rotate(-135deg);
background: none;
border-bottom: 4px solid $icn-clr;
border-right: 4px solid $icn-clr;
left: 15px;
top: 10px;
border-radius: 0px;
}
}
#menu11:checked+label {
div:first-child {
height: 20px;
width: 20px;
transform: rotate(45deg);
background: none;
border-bottom: 4px solid $icn-clr;
border-right: 4px solid $icn-clr;
left: 15px;
top: -20px;
border-radius: 0px;
}
div:nth-child(2) {
height: 20px;
width: 20px;
transform: rotate(135deg);
background: none;
border-bottom: 4px solid $icn-clr;
border-right: 4px solid $icn-clr;
left: 36px;
top: 1px;
border-radius: 0px;
}
div:nth-child(3) {
height: 20px;
width: 20px;
transform: rotate(-45deg);
background: none;
border-bottom: 4px solid $icn-clr;
border-right: 4px solid $icn-clr;
left: -5px;
top: 0px;
border-radius: 0px;
}
div:nth-child(3):after {
content: "";
height: 20px;
width: 20px;
transform: rotate(-90deg);
background: none;
border-bottom: 4px solid $icn-clr;
border-right: 4px solid $icn-clr;
left: -2px;
top: 30px;
border-radius: 0px;
}
}
#menu12+label {
div:nth-child(3):after {
height: 20px;
width: 20px;
transform: rotate(-135deg);
background: none;
border-bottom: 4px solid $icn-clr;
border-right: 4px solid $icn-clr;
left: 15px;
top: 10px;
border-radius: 0px;
}
}
#menu12:checked+label {
div:first-child {
height: 20px;
width: 20px;
transform: rotate(405deg);
background: none;
border-bottom: 4px solid $icn-clr;
border-right: 4px solid $icn-clr;
left: 15px;
top: -15px;
border-radius: 0px;
}
div:nth-child(2) {
height: 20px;
width: 20px;
transform: rotate(495deg);
background: none;
border-bottom: 4px solid $icn-clr;
border-right: 4px solid $icn-clr;
left: 30px;
top: 0px;
border-radius: 0px;
}
div:nth-child(3) {
height: 20px;
width: 20px;
transform: rotate(-405deg);
background: none;
border-bottom: 4px solid $icn-clr;
border-right: 4px solid $icn-clr;
left: 0px;
top: 0px;
border-radius: 0px;
}
div:nth-child(3):after {
content: "";
height: 20px;
width: 20px;
transform: rotate(-450deg);
background: none;
border-bottom: 5px solid $icn-clr;
border-right: 5px solid $icn-clr;
left: 0px;
top: 20px;
border-radius: 0px;
}
}
#menu13:checked+label {
div:first-child {
opacity: 1;
top: 30px;
width: 35px;
border-radius: 0% 0% 50% 50%;
transform: rotate(360deg);
}
div:nth-child(2) {
top: 12px;
transform: rotate(-315deg);
width: 35px;
}
div:nth-child(3) {
top: 12px;
transform: rotate(495deg);
width: 35px;
}
}
#menu14:checked+label {
div:first-child {
opacity: 1;
top: 30px;
width: 35px;
border-radius: 0% 0% 50% 50%;
}
div:nth-child(2) {
top: 12px;
transform: rotate(45deg);
width: 35px;
}
div:nth-child(3) {
top: 12px;
transform: rotate(-45deg);
width: 35px;
}
}
#menu15+label {
div {
left: 0px;
}
div:nth-child(2):before {
content: "";
opacity: 0;
}
}
#menu15:checked+label {
div:first-child {
top: 10px;
left: 15px;
transform: rotate(45deg);
}
div:nth-child(2) {
top: 10px;
left: 3px;
width: 22px;
}
div:nth-child(2):before {
content: "";
opacity: 1;
transform: rotate(45deg);
background: none;
border-left: 5px solid $icn-clr;
border-bottom: 5px solid $icn-clr;
border-radius: 0px;
height: 15px;
width: 15px;
top: -7px;
}
div:nth-child(3) {
top: 10px;
left: 15px;
transform: rotate(-45deg);
}
}
#menu16+label {
div {
left: 0px;
}
div:nth-child(2):before {
content: "";
opacity: 0;
}
}
#menu16:checked+label {
div:first-child {
top: 10px;
left: 15px;
transform: rotate(405deg);
}
div:nth-child(2) {
top: 10px;
left: 3px;
width: 22px;
}
div:nth-child(2):before {
content: "";
opacity: 1;
transform: rotate(405deg);
background: none;
border-left: 5px solid $icn-clr;
border-bottom: 5px solid $icn-clr;
border-radius: 0px;
height: 15px;
width: 15px;
top: -7px;
}
div:nth-child(3) {
top: 10px;
left: 15px;
transform: rotate(-405deg);
}
}
#menu17+label {
div {
left: 0px;
}
div:nth-child(2):before {
content: "";
opacity: 0;
}
}
#menu17:checked+label {
div:first-child {
top: 10px;
left: 15px;
transform: rotate(-45deg);
}
div:nth-child(2) {
top: 10px;
left: 3px;
width: 22px;
}
div:nth-child(2):before {
content: "";
opacity: 1;
transform: rotate(45deg);
background: none;
border-top: 5px solid $icn-clr;
border-right: 5px solid $icn-clr;
border-radius: 0px;
height: 15px;
width: 15px;
top: -7px;
}
div:nth-child(3) {
top: 10px;
left: 15px;
transform: rotate(45deg);
}
}
#menu18+label {
div {
left: 0px;
}
div:nth-child(2):before {
content: "";
opacity: 0;
}
}
#menu18:checked+label {
div:first-child {
top: 10px;
left: 15px;
transform: rotate(-405deg);
}
div:nth-child(2) {
top: 10px;
left: 3px;
width: 22px;
}
div:nth-child(2):before {
content: "";
opacity: 1;
transform: rotate(405deg);
background: none;
border-top: 5px solid $icn-clr;
border-right: 5px solid $icn-clr;
border-radius: 0px;
height: 15px;
width: 15px;
top: -7px;
}
div:nth-child(3) {
top: 10px;
left: 15px;
transform: rotate(405deg);
}
}
#menu19+label {
div {
left: 0px;
}
div:nth-child(2):before {
content: "";
opacity: 0;
}
}
#menu19:checked+label {
div:first-child {
top: 10px;
left: 0px;
transform: rotate(-45deg);
}
div:nth-child(2) {
top: 10px;
left: 40px;
width: 22px;
}
div:nth-child(2):before {
content: "";
opacity: 1;
transform: rotate(45deg);
background: none;
border-top: 5px solid $icn-clr;
border-right: 5px solid $icn-clr;
border-radius: 0px;
height: 15px;
width: 15px;
top: -7px;
}
div:nth-child(3) {
top: 10px;
left: 0px;
transform: rotate(45deg);
}
}
#menu20+label {
div {
left: 0px;
}
div:nth-child(2):before {
content: "";
opacity: 0;
}
}
#menu20:checked+label {
div:first-child {
top: 10px;
left: 0px;
transform: rotate(-405deg);
}
div:nth-child(2) {
top: 10px;
left: 40px;
width: 22px;
}
div:nth-child(2):before {
content: "";
opacity: 1;
transform: rotate(405deg);
background: none;
border-top: 5px solid $icn-clr;
border-right: 5px solid $icn-clr;
border-radius: 0px;
height: 15px;
width: 15px;
top: -7px;
}
div:nth-child(3) {
top: 10px;
left: 0px;
transform: rotate(405deg);
}
}
#menu21+label {
div {
left: 0px;
}
div:nth-child(2):before {
content: "";
opacity: 0;
}
}
#menu21:checked+label {
div:first-child {
top: 10px;
left: 0px;
transform: rotate(-45deg);
}
div:nth-child(2) {
top: 10px;
left: 40px;
width: 22px;
}
div:nth-child(2):before {
content: "";
opacity: 1;
transform: rotate(45deg);
background: none;
border-bottom: 5px solid $icn-clr;
border-left: 5px solid $icn-clr;
border-radius: 0px;
height: 15px;
width: 15px;
top: -7px;
}
div:nth-child(3) {
top: 10px;
left: 0px;
transform: rotate(45deg);
}
}
#menu22+label {
div {
left: 0px;
}
div:nth-child(2):before {
content: "";
opacity: 0;
}
}
#menu22:checked+label {
div:first-child {
top: 10px;
left: 0px;
transform: rotate(-405deg);
}
div:nth-child(2) {
top: 10px;
left: 40px;
width: 22px;
}
div:nth-child(2):before {
content: "";
opacity: 1;
transform: rotate(405deg);
background: none;
border-bottom: 5px solid $icn-clr;
border-left: 5px solid $icn-clr;
border-radius: 0px;
height: 15px;
width: 15px;
top: -7px;
}
div:nth-child(3) {
top: 10px;
left: 0px;
transform: rotate(405deg);
}
}
#menu23:checked+label {
div:first-child {
top: -10px;
left: -7px;
width: 50px;
height: 50px;
border-radius: 50%;
}
div:nth-child(2) {
top: 12px;
transform: rotate(-315deg);
width: 35px;
background: $bg-clr;
}
div:nth-child(3) {
top: 12px;
transform: rotate(495deg);
width: 35px;
background: $bg-clr;
}
}
#menu24:checked+label {
div:first-child {
top: -10px;
left: -7px;
width: 40px;
height: 40px;
background: none;
border: 5px solid $icn-clr;
border-radius: 50%;
}
div:nth-child(2) {
top: 12px;
transform: rotate(-45deg);
width: 35px;
}
div:nth-child(3) {
top: 12px;
transform: rotate(45deg);
width: 35px;
}
}
#menu25:checked+label {
div:first-child {
top: -10px;
left: -7px;
width: 40px;
height: 40px;
background: none;
border: 5px solid $icn-clr;
border-radius: 50%;
}
div:nth-child(2) {
top: 12px;
transform: rotate(-180deg);
width: 35px;
}
div:nth-child(3) {
top: 12px;
transform: rotate(180deg);
width: 35px;
}
}
#menu26:checked+label {
div:first-child {
top: 12px;
transform: rotate(-540deg);
width: 35px;
background: $bg-clr;
z-index: 1;
}
div:nth-child(2) {
top: -10px;
left: -7px;
width: 40px;
height: 40px;
border: 5px solid $icn-clr;
border-radius: 50%;
}
div:nth-child(3) {
top: 12px;
transform: rotate(540deg);
width: 35px;
background: $bg-clr;
}
}
#menu27:checked+label {
div:first-child {
top: 12px;
transform: rotate(180deg);
width: 35px;
background: $bg-clr;
z-index: 1;
}
div:nth-child(2) {
top: -10px;
left: -7px;
width: 40px;
height: 40px;
border: 5px solid $icn-clr;
border-radius: 50%;
}
div:nth-child(3) {
top: 2px;
left: 2px;
transform: rotate(45deg);
height: 20px;
width: 20px;
background: none;
border-left: 5px solid $bg-clr;
border-bottom: 5px solid $bg-clr;
}
}
#menu28:checked+label {
div:first-child {
top: 12px;
transform: rotate(-180deg);
width: 35px;
background: $bg-clr;
z-index: 1;
}
div:nth-child(2) {
top: -10px;
left: -7px;
width: 40px;
height: 40px;
border: 5px solid $icn-clr;
border-radius: 50%;
}
div:nth-child(3) {
top: 2px;
left: 8px;
transform: rotate(45deg);
height: 20px;
width: 20px;
background: none;
border-right: 5px solid $bg-clr;
border-top: 5px solid $bg-clr;
}
}
#menu29:checked+label {
div:first-child {
top: 12px;
left: -9px;
transform: rotate(-225deg);
width: 53px;
background: $bg-clr;
z-index: 1;
}
div:nth-child(2) {
top: -10px;
left: -7px;
width: 40px;
height: 40px;
border: 5px solid $icn-clr;
border-radius: 50%;
}
div:nth-child(3) {
top: 12px;
left: -9px;
transform: rotate(-225deg);
width: 53px;
background: $bg-clr;
z-index: 1;
}
}
#menu30:checked+label {
div:first-child {
top: 10px;
left: -9px;
transform: rotate(-225deg);
width: 48px;
background: $icn-clr;
z-index: 1;
}
div:nth-child(2) {
top: -10px;
left: -7px;
width: 40px;
height: 40px;
background: none;
border: 5px solid $icn-clr;
border-radius: 50%;
}
div:nth-child(3) {
top: 16px;
left: -2px;
transform: rotate(-225deg);
width: 48px;
background: $icn-clr;
}
}
#menu31:checked+label {
div:first-child {
width: 17px;
height: 17px;
border-radius: 50%;
background: none;
border-top: 5px solid $icn-clr;
border-right: 5px solid $icn-clr;
left: 7px;
top: -2px;
}
div:nth-child(2) {
top: -10px;
left: -7px;
width: 40px;
height: 40px;
background: none;
border: 5px solid $icn-clr;
border-radius: 50%;
}
div:nth-child(3) {
width: 7px;
height: 3px;
left: 16px;
top: 18px;
border-radius: 10px 0px 0px 0px;
border-top: 8px solid $icn-clr;
border-bottom: 4px solid $icn-clr;
background: none;
}
}
#menu32:checked + label {
div:first-child {
width: 50px;
height: 0px;
position: absolute;
border-bottom: 17px solid darken($icn-clr, 25%);
border-top: 30px solid transparent;
border-radius: 40%;
background: none;
top: -7px;
}
div:nth-child(2) {
height: 34px;
width: 5px;
background: darken($icn-clr, 25%);
position: absolute;
top: -5px;
left: 15px;
}
div:nth-child(2):before {
content: "";
position: absolute;
background: transparent;
border-radius: 0 50% 0 0;
width: 0px;
height: 0px;
border-right: 16px solid darken($icn-clr, 25%);
border-top: 26px solid transparent;
border-bottom: 0px solid transparent;
top: -0px;
left: -17px;
}
div:nth-child(2):after {
content: "";
position: absolute;
width: 0px;
height: 0px;
background: transparent;
border-radius: 0 50% 0 0;
border-left: 30px solid darken($icn-clr, 25%);
border-top: 26px solid transparent;
border-bottom: 0px solid transparent;
top: 0px;
left: 6px;
}
div:nth-child(3) {
position: absolute;
width: 15px;
height: 15px;
border-top: 5px solid darken($icn-clr, 25%);
border-right: 5px solid darken($icn-clr, 25%);
background: none;
top: 0px;
left: 50px;
transform: rotate(45deg);
}
}
#menu33 + label {
div {
transition: top .15s .3s, transform .15s .12s;
}
div:nth-child(3) {
transition: top .15s .3s, transform .3s;
}
}
#menu33:checked + label {
div {
top: 10px;
transform: rotate(45deg);
transition: top .15s, transform .12s .15s;
}
div:nth-child(3) {
transform: rotate(135deg);
transition: top .15s, transform .3s .15s;
}
}
#menu34 + label {
div {
transition: all .3s;
}
div:nth-child(3) {
right: 0;
}
}
#menu34:checked + label {
div:first-child {
top: 2%;
left: 7%;
width: 50%;
transform: rotate(45deg);
}
div:nth-child(2) {
transform: rotate(-45deg);
}
div:nth-child(3) {
width: 50%;
right: 7%;
top: 47%;
transform: rotate(45deg);
}
}
#menu35 + label {
div:first-child {
transition: width .15s .15s, top .15s, right .15s, transform .15s;
}
div:nth-child(2) {
transition: transform .15s;
}
div:nth-child(3) {
right: 0;
transition: width .15s .15s, top .15s, right .15s, transform .15s;
}
}
#menu35:checked + label {
div:first-child {
top: 2%;
left: 7%;
width: 50%;
transform: rotate(45deg);
transition: width .15s, top .15s .15s, left .15s .15s, transform .15s .15s;
}
div:nth-child(2) {
transform: rotate(-45deg);
transition: transform .15s .15s;
}
div:nth-child(3) {
width: 50%;
right: 7%;
top: 47%;
transform: rotate(45deg);
transition: width .15s, top .15s .15s, right .15s .15s, transform .15s .15s;
}
}
#menu36 + label {
div:first-child {
transition: top .15s .15s, transform .15s;
}
div:nth-child(2),
div:nth-child(3) {
transition: top .15s .15s, transform .15s;
}
}
#menu36:checked + label {
div:first-child {
top: 10px;
transform: rotate(45deg);
transition: top .15s, transform .15s .15s;
}
div:nth-child(2),
div:nth-child(3) {
top: 10px;
transform: rotate(-45deg);
transition: top .15s, transform .15s .15s;
}
}
#menu37 + label {
div {
transition: top .15s .17s, transform .12s .033s;
}
div:nth-child(3) {
transition: top .15s .17s, transform .17s;
}
}
#menu37:checked + label {
div {
top: 10px;
transform: rotate(135deg);
transition: top .1s, transform .12s .1s;
}
div:nth-child(3) {
transform: rotate(225deg);
transition: top .1s, transform .17s .1s;
}
}
View Compiled
//Just to flash the showcase, this is pure CSS
var inputs = document.getElementsByTagName("input");
var labels = document.getElementsByTagName("label");
// Label Menus to make them easier to search for
for (var x = 0; x < labels.length; x++){
labels[x].innerHTML += "<b>Menu "+ (x + 1) + "</b>";
}
// Checks all checkboxs triggering all CSS transitions
function check (status) {
for (var x = 0; x < inputs.length; x++){
inputs[x].checked = status;
}
if(status){
setTimeout(function() {
check(false);
}, 2000);
}
}
// Triggers demonstration on button click
document.getElementById("bam").onclick = function () {
check(true);
};
// Flashes menus on load
document.addEventListener("DOMContentLoaded", function(event) {
check(true);
});
This Pen doesn't use any external CSS resources.
This Pen doesn't use any external JavaScript resources.