<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>HTML5 3D弹簧线圈动画特效DEMO演示</title>
<style>
html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}dfn{font-style:italic}h1{font-size:2em;margin:0.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace, monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type="checkbox"],input[type="radio"]{-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{height:auto}input[type="search"]{-webkit-appearance:textfield;-moz-box-sizing:content-box;box-sizing:content-box}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:0.35em 0.625em 0.75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:bold}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}
</style>
<style>
html, body {
height: 100%;
}
body {
background-color: #ecf0f1;
perspective: 4000;
perspective-origin: 50% 0%;
}
.view {
position: absolute;
width: 400px;
height: 400px;
top: 50%;
left: 50%;
margin: -200px 0 0 -200px;
}
.circles {
height: 100%;
margin: 0;
padding: 0;
transform-style: preserve-3d;
}
.item {
position: absolute;
top: 0;
left: 0;
list-style: none;
padding: 0;
border: 15px solid #cfd9db;
border-radius: 50%;
width: 400px;
height: 200px;
position: absolute;
top: 0;
left: 0;
box-sizing: border-box;
}
.h1 {
border: 15px solid #ccd7d9;
border-color: #ccd7d9 #d2dbde #d7e0e2 #d2dbde;
box-shadow: 0 1px 0 white, inset 0 5px 0px #aebfc4, inset 0 10px 0px #aebfc4, 0 5px 0 #bdcbce, 0 10px 0 #bdcbce;
width: 400px;
height: 400px;
transform: rotateX(70deg) translate3d(0px, 0px, -30px);
animation: wave1 2s ease-in-out -0ms infinite alternate;
}
@keyframes wave1 {
100% {
transform: rotateX(70deg) translate3d(0px, 0px, 100px);
}
}
.h2 {
border: 15px solid #c9d4d7;
border-color: #c9d4d7 #cfd9db #d5dde0 #cfd9db;
box-shadow: 0 1px 0 white, inset 0 5px 0px #abbdc1, inset 0 10px 0px #abbdc1, 0 5px 0 #bac9cc, 0 10px 0 #bac9cc;
width: 340px;
height: 340px;
transform: rotateX(70deg) translate3d(30px, 0px, -60px);
animation: wave2 2s ease-in-out -400ms infinite alternate;
}
@keyframes wave2 {
100% {
transform: rotateX(70deg) translate3d(30px, 0px, 70px);
}
}
.h3 {
border: 15px solid #c6d2d5;
border-color: #c6d2d5 #ccd7d9 #d2dbde #ccd7d9;
box-shadow: 0 1px 0 white, inset 0 5px 0px #a8bbbf, inset 0 10px 0px #a8bbbf, 0 5px 0 #b7c6ca, 0 10px 0 #b7c6ca;
width: 280px;
height: 280px;
transform: rotateX(70deg) translate3d(60px, 0px, -90px);
animation: wave3 2s ease-in-out -800ms infinite alternate;
}
@keyframes wave3 {
100% {
transform: rotateX(70deg) translate3d(60px, 0px, 40px);
}
}
.h4 {
border: 15px solid #c3d0d3;
border-color: #c3d0d3 #c9d4d7 #cfd9db #c9d4d7;
box-shadow: 0 1px 0 white, inset 0 5px 0px #a6b8bd, inset 0 10px 0px #a6b8bd, 0 5px 0 #b4c4c8, 0 10px 0 #b4c4c8;
width: 220px;
height: 220px;
transform: rotateX(70deg) translate3d(90px, 0px, -120px);
animation: wave4 2s ease-in-out -1200ms infinite alternate;
}
@keyframes wave4 {
100% {
transform: rotateX(70deg) translate3d(90px, 0px, 10px);
}
}
.h5 {
border: 15px solid #c0cdd1;
border-color: #c0cdd1 #c6d2d5 #ccd7d9 #c6d2d5;
box-shadow: 0 1px 0 white, inset 0 5px 0px #a3b6bb, inset 0 10px 0px #a3b6bb, 0 5px 0 #b1c2c6, 0 10px 0 #b1c2c6;
width: 160px;
height: 160px;
transform: rotateX(70deg) translate3d(120px, 0px, -150px);
animation: wave5 2s ease-in-out -1600ms infinite alternate;
}
@keyframes wave5 {
100% {
transform: rotateX(70deg) translate3d(120px, 0px, -20px);
}
}
.h6 {
border: 15px solid #bdcbce;
border-color: #bdcbce #c3d0d3 #c9d4d7 #c3d0d3;
box-shadow: 0 1px 0 white, inset 0 5px 0px #a0b4b9, inset 0 10px 0px #a0b4b9, 0 5px 0 #aebfc4, 0 10px 0 #aebfc4;
width: 100px;
height: 100px;
transform: rotateX(70deg) translate3d(150px, 0px, -180px);
animation: wave6 2s ease-in-out -2000ms infinite alternate;
}
@keyframes wave6 {
100% {
transform: rotateX(70deg) translate3d(150px, 0px, -50px);
}
}
.h7 {
border: 15px solid #bac9cc;
border-color: #bac9cc #c0cdd1 #c6d2d5 #c0cdd1;
box-shadow: 0 1px 0 white, inset 0 5px 0px #9db1b7, inset 0 10px 0px #9db1b7, 0 5px 0 #abbdc1, 0 10px 0 #abbdc1;
width: 40px;
height: 40px;
transform: rotateX(70deg) translate3d(180px, 0px, -210px);
animation: wave7 2s ease-in-out -2400ms infinite alternate;
}
@keyframes wave7 {
100% {
transform: rotateX(70deg) translate3d(180px, 0px, -80px);
}
}
</style>
<script src="js/prefixfree.min.js"></script>
</head>
<body>
<div style="text-align:center;clear:both;">
</div>
<div class='view'>
<ul class='circles'>
<li class='h1 item'></li>
<li class='h2 item'></li>
<li class='h3 item'></li>
<li class='h4 item'></li>
<li class='h5 item'></li>
<li class='h6 item'></li>
<li class='h7 item'></li>
</ul>
</div>
</body>
</html>