Skip to content

Instantly share code, notes, and snippets.

What would you like to do?
ul {
list-style-type: none;
li {
display: inline-block;
input[type="checkbox"][id^="cb"] {
display: none;
label {
border: 1px solid #fff;
padding: 10px;
display: block;
position: relative;
margin: 10px;
cursor: pointer;
label:before {
background-color: white;
color: white;
content: " ";
display: block;
border-radius: 50%;
border: 2px solid #8f8;
position: absolute;
top: -5px;
left: -5px;
width: 25px;
height: 25px;
text-align: center;
line-height: 28px;
transition-duration: 0.4s;
transform: scale(0);
label img {
height: 100px;
width: 100px;
transition-duration: 0.2s;
transform-origin: 50% 50%;
:checked + label {
border-color: #ddd;
:checked + label:before {
content: url("");
padding: 3px 3px 1px 1px;
background-color: rgba(150, 255, 150, 0.7);
transform: scale(1);
z-index: 10;
:checked + label img {
transform: scale(0.9);
box-shadow: 0 0 5px #333;
z-index: -1;
<li><input type="checkbox" id="cb1" />
<label for="cb1"><img src="" /></label>
<li><input type="checkbox" id="cb2" />
<label for="cb2"><img src="" /></label>
<li><input type="checkbox" id="cb3" />
<label for="cb3"><img src="" /></label>
<li><input type="checkbox" id="cb4" />
<label for="cb4"><img src="" /></label>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment