Funky selection changer
css animate content via checkbox selection
by moob
HTML
<input id="blue" type="checkbox" />
<input id="red" type="checkbox" />
<input id="green" type="checkbox" />
<input id="purple" type="checkbox" />
<div id="wrapper">
<div class="container">
<label for="blue">
<div><span>You picked blue. <em>change selection</em></span></div>
</label>
<label for="red">
<div><span>You picked red. <em>change selection</em></span></div>
</label>
<label for="green">
<div><span>You picked green. <em>change selection</em></span></div>
</label>
<label for="purple">
<div><span>You picked purple. <em>change selection</em></span></div>
</label>
</div>
</div>
CSS
@import url("https://fonts.googleapis.com/css?family=Lato:300");
* {
-webkit-transition: all 0.7s ease;
transition: all 0.7s ease;
box-sizing: border-box;
}
body {
min-width:100%;
min-height:100%;
margin:0;
}
#wrapper {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: center;
-webkit-justify-content: center;
-ms-flex-pack: center;
justify-content: center;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
width: 100vw;
height: 100vh;
font-family: 'Lato', sans-serif;
font-weight: 300;
overflow: hidden;
background-color:#ccc;
}
#wrapper .container {
background: #fff;
width: 416px;
height: 128px;
border-radius: 16px;
color: #000;
font-size: 16px;
z-index: 1;
overflow: hidden;
position:relative;
box-shadow:0px 20px 60px -40px #000;
padding:8px;
}
#wrapper .container label:hover {
cursor: pointer;
}
#wrapper .container label[for="blue"] div {
background: blue;
margin-left: 32px;
margin-top: 32px;
}
#wrapper .container label[for="red"] div {
background: red;
margin-top: 32px;
margin-left: 128px;
}
#wrapper .container label[for="green"] div {
background: green;
margin-top: 32px;
margin-left: 224px;
}
#wrapper .container label[for="purple"] div {
background: purple;
margin-top: 32px;
margin-left: 320px;
}
#wrapper .container div{
color: #fff;
}
#wrapper .container div span {
display:inline-block;
padding:20px;
opacity:0;
}
body input[type="checkbox"] {
position:absolute;
opacity:0.001;
}
#wrapper .container label div {
display:block;
width:100%;
min-width:64px;
min-height:64px;
max-width: 64px;
max-height: 64px;
border-radius: 8px;
box-shadow:0 0 0px 8px rgba(0,0,0,0.1);
z-index: 2;
position: absolute;
top:0;
left:0;
bottom:0;
right:0;
}
#wrapper .container label:hover div {
...