Html
    Css
    Js

    
                        
body {
	font-size:16px;
	font-family:'Helvetica','Arial',sans-serif;
	text-align:center;
	background-color:#f8faff;
}
.bubbly-button {
	font-family:'Helvetica','Arial',sans-serif;
	display:inline-block;
	font-size:1em;
	padding:1em 2em;
	margin-top:100px;
	margin-bottom:60px;
	-webkit-appearance:none;
	appearance:none;
	background-color:#ff3de8;
	color:#fff;
	border-radius:4px;
	border:none;
	cursor:pointer;
	position:relative;
	transition:transform ease-in 0.1s,box-shadow ease-in 0.25s;
	box-shadow:0 2px 15px rgba(255,0,251,0.5);
}
.bubbly-button:focus {
	outline:0;
}
.bubbly-button:before,.bubbly-button:after {
	position:absolute;
	content:'';
	display:block;
	width:140%;
	height:100%;
	left:-20%;
	z-index:-1000;
	transition:all ease-in-out 0.5s;
	background-repeat:no-repeat;
}
.bubbly-button:before {
	display:none;
	top:-75%;
	background-image:radial-gradient(circle,#ff0081 20%,transparent 20%),radial-gradient(circle,transparent 20%,#ff0081 20%,transparent 30%),radial-gradient(circle,#ff0081 20%,transparent 20%),radial-gradient(circle,#ff0081 20%,transparent 20%),radial-gradient(circle,transparent 10%,#ff0081 15%,transparent 20%),radial-gradient(circle,#ff0081 20%,transparent 20%),radial-gradient(circle,#ff0081 20%,transparent 20%),radial-gradient(circle,#ff0081 20%,transparent 20%),radial-gradient(circle,#ff0081 20%,transparent 20%);
	background-size:10% 10%,20% 20%,15% 15%,20% 20%,18% 18%,10% 10%,15% 15%,10% 10%,18% 18%;
}
.bubbly-button:after {
	display:none;
	bottom:-75%;
	background-image:radial-gradient(circle,#ff0081 20%,transparent 20%),radial-gradient(circle,#ff0081 20%,transparent 20%),radial-gradient(circle,transparent 10%,#ff0081 15%,transparent 20%),radial-gradient(circle,#ff0081 20%,transparent 20%),radial-gradient(circle,#ff0081 20%,transparent 20%),radial-gradient(circle,#ff0081 20%,transparent 20%),radial-gradient(circle,#ff0081 20%,transparent 20%);
	background-size:15% 15%,20% 20%,18% 18%,20% 20%,15% 15%,10% 10%,20% 20%;
}
.bubbly-button:active {
	transform:scale(0.9);
	background-color:#e60074;
	box-shadow:0 2px 25px rgba(255,0,130,0.2);
}
.bubbly-button.animate:before {
	display:block;
	animation:topBubbles ease-in-out 0.75s forwards;
}
.bubbly-button.animate:after {
	display:block;
	animation:bottomBubbles ease-in-out 0.75s forwards;
}
@keyframes topBubbles {
	0% {
	background-position:5% 90%,10% 90%,10% 90%,15% 90%,25% 90%,25% 90%,40% 90%,55% 90%,70% 90%;
}
50% {
	background-position:0% 80%,0% 20%,10% 40%,20% 0%,30% 30%,22% 50%,50% 50%,65% 20%,90% 30%;
}
100% {
	background-position:0% 70%,0% 10%,10% 30%,20% -10%,30% 20%,22% 40%,50% 40%,65% 10%,90% 20%;
	background-size:0% 0%,0% 0%,0% 0%,0% 0%,0% 0%,0% 0%;
}
}@keyframes bottomBubbles {
	0% {
	background-position:10% -10%,30% 10%,55% -10%,70% -10%,85% -10%,70% -10%,70% 0%;
}
50% {
	background-position:0% 80%,20% 80%,45% 60%,60% 100%,75% 70%,95% 60%,105% 0%;
}
100% {
	background-position:0% 90%,20% 90%,45% 70%,60% 110%,75% 80%,95% 70%,110% 10%;
	background-size:0% 0%,0% 0%,0% 0%,0% 0%,0% 0%,0% 0%;
}
}

                        
↑上面代码改变,会自动显示代码结果 jQuery调用版本:1.11.3
 立即下载

按钮点击气泡效果

利用css3的animation、background-image、background-size属性,伪元素,再js控制类名渲染动画

0