<div class="continput">
	<h1>Jelly Radio btn</h1>
	<h4>I hope you enjoyed it</h4>
	<ul>
		<li>
			<input checked type="radio" name="1">
			<label>OMG a radio!</label>
			<div class="bullet">
				<div class="line zero"></div>
				<div class="line one"></div>
				<div class="line two"></div>
				<div class="line three"></div>
				<div class="line four"></div>
				<div class="line five"></div>
				<div class="line six"></div>
				<div class="line seven"></div>
			</div>
		</li>
		<li>
			<input type="radio" name="1">
			<label>Uuuuh radio</label>
			<div class="bullet">
				<div class="line zero"></div>
				<div class="line one"></div>
				<div class="line two"></div>
				<div class="line three"></div>
				<div class="line four"></div>
				<div class="line five"></div>
				<div class="line six"></div>
				<div class="line seven"></div>
			</div>
		</li>
		<li>
			<input type="radio" name="1">
			<label>radio everywhere</label>
			<div class="bullet">
				<div class="line zero"></div>
				<div class="line one"></div>
				<div class="line two"></div>
				<div class="line three"></div>
				<div class="line four"></div>
				<div class="line five"></div>
				<div class="line six"></div>
				<div class="line seven"></div>
			</div>
		</li>
	</ul>
</div>
@import url(https://fonts.googleapis.com/css?family=Roboto:400,300,500,700);

::selection{
	background:none;
}

body{
	background: #BADA55;
	font-family: 'Roboto';
	font-weight:500;
	text-transform: uppercase;
	color: #2E8612;
	overflow: hidden;
	height:100%;
}
h1{
	font-weight:100;
	text-align: center;
	margin:0;
	padding:0;
	font-size: 50px;
}
h4{
	font-weight:400;
	text-align: center;
	margin:0;
	padding:0;
	margin-bottom: 50px;
}
.continput {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	width: 500px;
	height: 270px;
	padding: 16px;
	box-sizing: border-box;
}

ul{
	list-style-type: none;
	width: 220px;
	margin: auto;
}

li {
	position: relative;
	padding: 10px;
	padding-left: 40px;
	height:30px;
}

label:before {
    content: "";
    width: 15px;
    height: 15px;
    background: #fff;
    position: absolute;
    left: 7px;
		top: calc(50% - 13px);
    box-sizing: border-box;
    border-radius: 50%;
}

input[type="radio"] {
	opacity: 0;
	-webkit-appearance: none;
	display: inline-block;
	vertical-align: middle;
	z-index: 100;
	margin: 0;
	padding: 0;
  width: 100%;
	height: 30px;
	position: absolute;
	left: 0;
	top: calc(50% - 15px);
	cursor: pointer;
}

.bullet {
    position: relative;
    width: 25px;
    height: 25px;
    left: -3px;
    top: 2px;
    border: 5px solid #fff;
    opacity: 0;
    border-radius: 50%;
}

input[type="radio"]:checked ~ .bullet {
	position:absolute;
	opacity: 1;
	animation-name: explode;
	animation-duration: 0.350s;
}

.line {
	position: absolute;
	width: 10px;
	height: 2px;
	background-color: #fff;
	opacity:0;
}

.line.zero {
	left: 11px;
	top: -21px;
	transform: translateY(20px);
	width: 2px;
	height: 10px;
}

.line.one {
	right: -7px;
	top: -11px;
	transform: rotate(-55deg) translate(-9px);
}

.line.two {
	right: -20px;
	top: 11px;
	transform: translate(-9px);
}

.line.three {
	right: -8px;
	top: 35px;
	transform: rotate(55deg) translate(-9px);
}

.line.four {
	left: -8px;
	top: -11px;
	transform: rotate(55deg) translate(9px);
}

.line.five {
	left: -20px;
	top: 11px;
	transform: translate(9px);
}

.line.six {
	left: -8px;
	top: 35px;
	transform: rotate(-55deg) translate(9px);
}

.line.seven {
	left: 11px;
	bottom: -21px;
	transform: translateY(-20px);
	width: 2px;
	height: 10px;
}

input[type="radio"]:checked ~ .bullet .line.zero{
	animation-name:drop-zero;
	animation-delay: 0.100s;
	animation-duration: 0.9s;
	animation-fill-mode: forwards;
}

input[type="radio"]:checked ~ .bullet .line.one{
	animation-name:drop-one;
	animation-delay: 0.100s;
	animation-duration: 0.9s;
	animation-fill-mode: forwards;
}

input[type="radio"]:checked ~ .bullet .line.two{
	animation-name:drop-two;
	animation-delay: 0.100s;
	animation-duration: 0.9s;
	animation-fill-mode: forwards;
}

input[type="radio"]:checked ~ .bullet .line.three{
	animation-name:drop-three;
	animation-delay: 0.100s;
	animation-duration: 0.9s;
	animation-fill-mode: forwards;
}

input[type="radio"]:checked ~ .bullet .line.four{
	animation-name:drop-four;
	animation-delay: 0.100s;
	animation-duration: 0.9s;
	animation-fill-mode: forwards;
}

input[type="radio"]:checked ~ .bullet .line.five{
	animation-name:drop-five;
	animation-delay: 0.100s;
	animation-duration: 0.9s;
	animation-fill-mode: forwards;
}

input[type="radio"]:checked ~ .bullet .line.six{
	animation-name:drop-six;
	animation-delay: 0.100s;
	animation-duration: 0.9s;
	animation-fill-mode: forwards;
}

input[type="radio"]:checked ~ .bullet .line.seven{
	animation-name:drop-seven;
	animation-delay: 0.100s;
	animation-duration: 0.9s;
	animation-fill-mode: forwards;
}

@keyframes explode {
	0%{
		opacity: 0;
		transform: scale(10);
	}
	60%{
		opacity: 1;
		transform: scale(0.5);
	}
	100%{
		opacity: 1;
		transform: scale(1);
	}
}

@keyframes drop-zero {
	0% {
		opacity: 0;
		transform: translateY(20px);
		height: 10px;
	}
	20% {
		opacity:1;
	}
	100% {
		transform: translateY(-2px);
		height: 0px;
		opacity:0;
	}
}

@keyframes drop-one {
	0% {
		opacity: 0;
		transform: rotate(-55deg) translate(-20px);
		width: 10px;
	}
	20% {
		opacity:1;
	}
	100% {
		transform: rotate(-55deg) translate(9px);
		width: 0px;
		opacity:0;
	}
}

@keyframes drop-two {
	0% {
		opacity: 0;
		transform: translate(-20px);
		width: 10px;
	}
	20% {
		opacity:1;
	}
	100% {
		transform: translate(9px);
		width: 0px;
		opacity:0;
	}
}

@keyframes drop-three {
	0% {
		opacity: 0;
		transform: rotate(55deg) translate(-20px);
		width: 10px;
	}
	20% {
		opacity:1;
	}
	100% {
		transform: rotate(55deg) translate(9px);
		width: 0px;
		opacity:0;
	}
}

@keyframes drop-four {
	0% {
		opacity: 0;
		transform: rotate(55deg) translate(20px);
		width: 10px;
	}
	20% {
		opacity:1;
	}
	100% {
		transform: rotate(55deg) translate(-9px);
		width: 0px;
		opacity:0;
	}
}

@keyframes drop-five {
	0% {
		opacity: 0;
		transform: translate(20px);
		width: 10px;
	}
	20% {
		opacity:1;
	}
	100% {
		transform: translate(-9px);
		width: 0px;
		opacity:0;
	}
}

@keyframes drop-six {
	0% {
		opacity: 0;
		transform: rotate(-55deg) translate(20px);
		width: 10px;
	}
	20% {
		opacity:1;
	}
	100% {
		transform: rotate(-55deg) translate(-9px);
		width: 0px;
		opacity:0;
	}
}

@keyframes drop-seven {
0% {
		opacity: 0;
		transform: translateY(-20px);
		height: 10px;
	}
	20% {
		opacity:1;
	}
	100% {
		transform: translateY(2px);
		height: 0px;
		opacity:0;
	}
}

External CSS

This Pen doesn't use any external CSS resources.

External JavaScript

  1. https://code.jquery.com/jquery-2.2.4.min.js