这是一款基于纯CSS3的发光按钮,按钮发光的颜色是随机的,这样一排按钮就显得五彩缤纷,非常绚丽。之前我们也介绍过不少样式很独特的CSS3按钮,比如纯CSS3 3D开关按钮、纯CSS3实现动感弹性按钮等,都非常不错,也有HTML5动画按钮,大家可以自己看看。
在线地址:
http://www.html5tricks.com/demo/pure-css3-shine-button/index.html
效果图:

背景图:
<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>纯CSS3实现发光按钮特效DEMO演示</title>
    <style>
body {
  background: #333333 url(css/classy_fabric.png);
  margin: 0;
}
#c {
  position: absolute;
  top: 50%;
  left: 50%;
  margin-left: -355px;
}
.s {
  position: relative;
  border-radius: 50%;
  background: #333333;
  float: left;
  margin-left: 20px;
  box-shadow: inset -1px 1px 4px 2px #444, inset 1px -1px 4px 2px #222;
  -webkit-transition: all 1s;
  -moz-transition: all 1s;
  transition: all 1s;
}
.s:nth-child(n):hover {
  -webkit-animation: bs2 linear 1s 1s infinite, bs2-in 1s;
  -moz-animation: bs2 linear 1s 1s infinite, bs2-in 1s;
  animation: bs2 linear 1s 1s infinite, bs2-in 1s;
}
.s:nth-child(1) {
  width: 20px;
  height: 20px;
  margin-top: -10px;
  -webkit-animation: bs linear 2s 0.5s infinite;
  -moz-animation: bs linear 2s 0.5s infinite;
  animation: bs linear 2s 0.5s infinite;
}
.s:nth-child(2) {
  width: 30px;
  height: 30px;
  margin-top: -15px;
  -webkit-animation: bs linear 2s 0.7s infinite;
  -moz-animation: bs linear 2s 0.7s infinite;
  animation: bs linear 2s 0.7s infinite;
}
.s:nth-child(3) {
  width: 40px;
  height: 40px;
  margin-top: -20px;
  -webkit-animation: bs linear 2s 0.9s infinite;
  -moz-animation: bs linear 2s 0.9s infinite;
  animation: bs linear 2s 0.9s infinite;
}
.s:nth-child(4) {
  width: 50px;
  height: 50px;
  margin-top: -25px;
  -webkit-animation: bs linear 2s 1.1s infinite;
  -moz-animation: bs linear 2s 1.1s infinite;
  animation: bs linear 2s 1.1s infinite;
}
.s:nth-child(5) {
  width: 60px;
  height: 60px;
  margin-top: -30px;
  -webkit-animation: bs linear 2s 1.3s infinite;
  -moz-animation: bs linear 2s 1.3s infinite;
  animation: bs linear 2s 1.3s infinite;
}
.s:nth-child(6) {
  width: 70px;
  height: 70px;
  margin-top: -35px;
  -webkit-animation: bs linear 2s 1.5s infinite;
  -moz-animation: bs linear 2s 1.5s infinite;
  animation: bs linear 2s 1.5s infinite;
}
.s:nth-child(7) {
  width: 60px;
  height: 60px;
  margin-top: -30px;
  -webkit-animation: bs linear 2s 1.7s infinite;
  -moz-animation: bs linear 2s 1.7s infinite;
  animation: bs linear 2s 1.7s infinite;
}
.s:nth-child(8) {
  width: 50px;
  height: 50px;
  margin-top: -25px;
  -webkit-animation: bs linear 2s 1.9s infinite;
  -moz-animation: bs linear 2s 1.9s infinite;
  animation: bs linear 2s 1.9s infinite;
}
.s:nth-child(9) {
  width: 40px;
  height: 40px;
  margin-top: -20px;
  -webkit-animation: bs linear 2s 2.1s infinite;
  -moz-animation: bs linear 2s 2.1s infinite;
  animation: bs linear 2s 2.1s infinite;
}
.s:nth-child(10) {
  width: 30px;
  height: 30px;
  margin-top: -15px;
  -webkit-animation: bs linear 2s 2.3s infinite;
  -moz-animation: bs linear 2s 2.3s infinite;
  animation: bs linear 2s 2.3s infinite;
}
.s:nth-child(11) {
  width: 20px;
  height: 20px;
  margin-top: -10px;
  -webkit-animation: bs linear 2s 2.5s infinite;
  -moz-animation: bs linear 2s 2.5s infinite;
  animation: bs linear 2s 2.5s infinite;
}
@-webkit-keyframes bs {
  0% {
    box-shadow: inset -1px 1px 3px 2px #444444, inset 1px -1px 3px 2px #222222, 0 0 0px 0 #b2ff1a;
  }
  50% {
    box-shadow: inset -1px 1px 3px 2px #444444, inset 1px -1px 3px 2px #222222, 0 0 20px 0 #1affff;
  }
  100% {
    box-shadow: inset -1px 1px 3px 2px #444444, inset 1px -1px 3px 2px #222222, 0 0 0px 0 #b2ff1a;
  }
}
@-moz-keyframes bs {
  0% {
    box-shadow: inset -1px 1px 3px 2px #444444, inset 1px -1px 3px 2px #222222, 0 0 0px 0 #b2ff1a;
  }
  50% {
    box-shadow: inset -1px 1px 3px 2px #444444, inset 1px -1px 3px 2px #222222, 0 0 20px 0 #1affff;
  }
  100% {
    box-shadow: inset -1px 1px 3px 2px #444444, inset 1px -1px 3px 2px #222222, 0 0 0px 0 #b2ff1a;
  }
}
@-o-keyframes bs {
  0% {
    box-shadow: inset -1px 1px 3px 2px #444444, inset 1px -1px 3px 2px #222222, 0 0 0px 0 #b2ff1a;
  }
  50% {
    box-shadow: inset -1px 1px 3px 2px #444444, inset 1px -1px 3px 2px #222222, 0 0 20px 0 #1affff;
  }
  100% {
    box-shadow: inset -1px 1px 3px 2px #444444, inset 1px -1px 3px 2px #222222, 0 0 0px 0 #b2ff1a;
  }
}
@keyframes bs {
  0% {
    box-shadow: inset -1px 1px 3px 2px #444444, inset 1px -1px 3px 2px #222222, 0 0 0px 0 #b2ff1a;
  }
  50% {
    box-shadow: inset -1px 1px 3px 2px #444444, inset 1px -1px 3px 2px #222222, 0 0 20px 0 #1affff;
  }
  100% {
    box-shadow: inset -1px 1px 3px 2px #444444, inset 1px -1px 3px 2px #222222, 0 0 0px 0 #b2ff1a;
  }
}
@-webkit-keyframes bs2-in {
  0% {
    box-shadow: inset -1px 1px 3px 2px #444444, inset 1px -1px 3px 2px #222222, 0 0 10px 0 #bbff33;
  }
  100% {
    box-shadow: inset -1px 1px 5px 2px #444444, inset 1px -1px 5px 2px #222222, 0 0 0px 0 #ff3333;
  }
}
@-moz-keyframes bs2-in {
  0% {
    box-shadow: inset -1px 1px 3px 2px #444444, inset 1px -1px 3px 2px #222222, 0 0 10px 0 #bbff33;
  }
  100% {
    box-shadow: inset -1px 1px 5px 2px #444444, inset 1px -1px 5px 2px #222222, 0 0 0px 0 #ff3333;
  }
}
@-o-keyframes bs2-in {
  0% {
    box-shadow: inset -1px 1px 3px 2px #444444, inset 1px -1px 3px 2px #222222, 0 0 10px 0 #bbff33;
  }
  100% {
    box-shadow: inset -1px 1px 5px 2px #444444, inset 1px -1px 5px 2px #222222, 0 0 0px 0 #ff3333;
  }
}
@keyframes bs2-in {
  0% {
    box-shadow: inset -1px 1px 3px 2px #444444, inset 1px -1px 3px 2px #222222, 0 0 10px 0 #bbff33;
  }
  100% {
    box-shadow: inset -1px 1px 5px 2px #444444, inset 1px -1px 5px 2px #222222, 0 0 0px 0 #ff3333;
  }
}
@-webkit-keyframes bs2 {
  0% {
    box-shadow: inset -1px 1px 5px 2px #444444, inset 1px -1px 5px 2px #222222, 0 0 0px 0 #ff3333;
  }
  50% {
    box-shadow: inset -1px 1px 5px 2px #444444, inset 1px -1px 5px 2px #222222, 0 0 10px 0 #ffbb33;
  }
  100% {
    box-shadow: inset -1px 1px 5px 2px #444444, inset 1px -1px 5px 2px #222222, 0 0 0px 0 #ff3333;
  }
}
@-moz-keyframes bs2 {
  0% {
    box-shadow: inset -1px 1px 5px 2px #444444, inset 1px -1px 5px 2px #222222, 0 0 0px 0 #ff3333;
  }
  50% {
    box-shadow: inset -1px 1px 5px 2px #444444, inset 1px -1px 5px 2px #222222, 0 0 10px 0 #ffbb33;
  }
  100% {
    box-shadow: inset -1px 1px 5px 2px #444444, inset 1px -1px 5px 2px #222222, 0 0 0px 0 #ff3333;
  }
}
@-o-keyframes bs2 {
  0% {
    box-shadow: inset -1px 1px 5px 2px #444444, inset 1px -1px 5px 2px #222222, 0 0 0px 0 #ff3333;
  }
  50% {
    box-shadow: inset -1px 1px 5px 2px #444444, inset 1px -1px 5px 2px #222222, 0 0 10px 0 #ffbb33;
  }
  100% {
    box-shadow: inset -1px 1px 5px 2px #444444, inset 1px -1px 5px 2px #222222, 0 0 0px 0 #ff3333;
  }
}
@keyframes bs2 {
  0% {
    box-shadow: inset -1px 1px 5px 2px #444444, inset 1px -1px 5px 2px #222222, 0 0 0px 0 #ff3333;
  }
  50% {
    box-shadow: inset -1px 1px 5px 2px #444444, inset 1px -1px 5px 2px #222222, 0 0 10px 0 #ffbb33;
  }
  100% {
    box-shadow: inset -1px 1px 5px 2px #444444, inset 1px -1px 5px 2px #222222, 0 0 0px 0 #ff3333;
  }
}
</style>
    <script src="js/prefixfree.min.js"></script>
</head>
<body>
<div style="text-align:center;clear:both;">
<script src="/gg_bd_ad_720x90.js" type="text/javascript"></script>
<script src="/follow.js" type="text/javascript"></script>
</div>
  <div id='c'>
  <div class='s'></div>
  <div class='s'></div>
  <div class='s'></div>
  <div class='s'></div>
  <div class='s'></div>
  <div class='s'></div>
  <div class='s'></div>
  <div class='s'></div>
  <div class='s'></div>
  <div class='s'></div>
  <div class='s'></div>
</div>
  <script src='http://codepen.io/assets/libs/fullpage/jquery.js'></script>
  <script src="js/index.js"></script>
</body>
</html>body {
  background: #333333 url(/images/classy_fabric.png);
  margin: 0;
}
#c {
  position: absolute;
  top: 50%;
  left: 50%;
  margin-left: -355px;
}
.s {
  position: relative;
  border-radius: 50%;
  background: #333333;
  float: left;
  margin-left: 20px;
  box-shadow: inset -1px 1px 4px 2px #444, inset 1px -1px 4px 2px #222;
  -webkit-transition: all 1s;
  -moz-transition: all 1s;
  transition: all 1s;
}
.s:nth-child(n):hover {
  -webkit-animation: bs2 linear 1s 1s infinite, bs2-in 1s;
  -moz-animation: bs2 linear 1s 1s infinite, bs2-in 1s;
  animation: bs2 linear 1s 1s infinite, bs2-in 1s;
}
.s:nth-child(1) {
  width: 20px;
  height: 20px;
  margin-top: -10px;
  -webkit-animation: bs linear 2s 0.5s infinite;
  -moz-animation: bs linear 2s 0.5s infinite;
  animation: bs linear 2s 0.5s infinite;
}
.s:nth-child(2) {
  width: 30px;
  height: 30px;
  margin-top: -15px;
  -webkit-animation: bs linear 2s 0.7s infinite;
  -moz-animation: bs linear 2s 0.7s infinite;
  animation: bs linear 2s 0.7s infinite;
}
.s:nth-child(3) {
  width: 40px;
  height: 40px;
  margin-top: -20px;
  -webkit-animation: bs linear 2s 0.9s infinite;
  -moz-animation: bs linear 2s 0.9s infinite;
  animation: bs linear 2s 0.9s infinite;
}
.s:nth-child(4) {
  width: 50px;
  height: 50px;
  margin-top: -25px;
  -webkit-animation: bs linear 2s 1.1s infinite;
  -moz-animation: bs linear 2s 1.1s infinite;
  animation: bs linear 2s 1.1s infinite;
}
.s:nth-child(5) {
  width: 60px;
  height: 60px;
  margin-top: -30px;
  -webkit-animation: bs linear 2s 1.3s infinite;
  -moz-animation: bs linear 2s 1.3s infinite;
  animation: bs linear 2s 1.3s infinite;
}
.s:nth-child(6) {
  width: 70px;
  height: 70px;
  margin-top: -35px;
  -webkit-animation: bs linear 2s 1.5s infinite;
  -moz-animation: bs linear 2s 1.5s infinite;
  animation: bs linear 2s 1.5s infinite;
}
.s:nth-child(7) {
  width: 60px;
  height: 60px;
  margin-top: -30px;
  -webkit-animation: bs linear 2s 1.7s infinite;
  -moz-animation: bs linear 2s 1.7s infinite;
  animation: bs linear 2s 1.7s infinite;
}
.s:nth-child(8) {
  width: 50px;
  height: 50px;
  margin-top: -25px;
  -webkit-animation: bs linear 2s 1.9s infinite;
  -moz-animation: bs linear 2s 1.9s infinite;
  animation: bs linear 2s 1.9s infinite;
}
.s:nth-child(9) {
  width: 40px;
  height: 40px;
  margin-top: -20px;
  -webkit-animation: bs linear 2s 2.1s infinite;
  -moz-animation: bs linear 2s 2.1s infinite;
  animation: bs linear 2s 2.1s infinite;
}
.s:nth-child(10) {
  width: 30px;
  height: 30px;
  margin-top: -15px;
  -webkit-animation: bs linear 2s 2.3s infinite;
  -moz-animation: bs linear 2s 2.3s infinite;
  animation: bs linear 2s 2.3s infinite;
}
.s:nth-child(11) {
  width: 20px;
  height: 20px;
  margin-top: -10px;
  -webkit-animation: bs linear 2s 2.5s infinite;
  -moz-animation: bs linear 2s 2.5s infinite;
  animation: bs linear 2s 2.5s infinite;
}
@-webkit-keyframes bs {
  0% {
    box-shadow: inset -1px 1px 3px 2px #444444, inset 1px -1px 3px 2px #222222, 0 0 0px 0 #b2ff1a;
  }
  50% {
    box-shadow: inset -1px 1px 3px 2px #444444, inset 1px -1px 3px 2px #222222, 0 0 20px 0 #1affff;
  }
  100% {
    box-shadow: inset -1px 1px 3px 2px #444444, inset 1px -1px 3px 2px #222222, 0 0 0px 0 #b2ff1a;
  }
}
@-moz-keyframes bs {
  0% {
    box-shadow: inset -1px 1px 3px 2px #444444, inset 1px -1px 3px 2px #222222, 0 0 0px 0 #b2ff1a;
  }
  50% {
    box-shadow: inset -1px 1px 3px 2px #444444, inset 1px -1px 3px 2px #222222, 0 0 20px 0 #1affff;
  }
  100% {
    box-shadow: inset -1px 1px 3px 2px #444444, inset 1px -1px 3px 2px #222222, 0 0 0px 0 #b2ff1a;
  }
}
@-o-keyframes bs {
  0% {
    box-shadow: inset -1px 1px 3px 2px #444444, inset 1px -1px 3px 2px #222222, 0 0 0px 0 #b2ff1a;
  }
  50% {
    box-shadow: inset -1px 1px 3px 2px #444444, inset 1px -1px 3px 2px #222222, 0 0 20px 0 #1affff;
  }
  100% {
    box-shadow: inset -1px 1px 3px 2px #444444, inset 1px -1px 3px 2px #222222, 0 0 0px 0 #b2ff1a;
  }
}
@keyframes bs {
  0% {
    box-shadow: inset -1px 1px 3px 2px #444444, inset 1px -1px 3px 2px #222222, 0 0 0px 0 #b2ff1a;
  }
  50% {
    box-shadow: inset -1px 1px 3px 2px #444444, inset 1px -1px 3px 2px #222222, 0 0 20px 0 #1affff;
  }
  100% {
    box-shadow: inset -1px 1px 3px 2px #444444, inset 1px -1px 3px 2px #222222, 0 0 0px 0 #b2ff1a;
  }
}
@-webkit-keyframes bs2-in {
  0% {
    box-shadow: inset -1px 1px 3px 2px #444444, inset 1px -1px 3px 2px #222222, 0 0 10px 0 #bbff33;
  }
  100% {
    box-shadow: inset -1px 1px 5px 2px #444444, inset 1px -1px 5px 2px #222222, 0 0 0px 0 #ff3333;
  }
}
@-moz-keyframes bs2-in {
  0% {
    box-shadow: inset -1px 1px 3px 2px #444444, inset 1px -1px 3px 2px #222222, 0 0 10px 0 #bbff33;
  }
  100% {
    box-shadow: inset -1px 1px 5px 2px #444444, inset 1px -1px 5px 2px #222222, 0 0 0px 0 #ff3333;
  }
}
@-o-keyframes bs2-in {
  0% {
    box-shadow: inset -1px 1px 3px 2px #444444, inset 1px -1px 3px 2px #222222, 0 0 10px 0 #bbff33;
  }
  100% {
    box-shadow: inset -1px 1px 5px 2px #444444, inset 1px -1px 5px 2px #222222, 0 0 0px 0 #ff3333;
  }
}
@keyframes bs2-in {
  0% {
    box-shadow: inset -1px 1px 3px 2px #444444, inset 1px -1px 3px 2px #222222, 0 0 10px 0 #bbff33;
  }
  100% {
    box-shadow: inset -1px 1px 5px 2px #444444, inset 1px -1px 5px 2px #222222, 0 0 0px 0 #ff3333;
  }
}
@-webkit-keyframes bs2 {
  0% {
    box-shadow: inset -1px 1px 5px 2px #444444, inset 1px -1px 5px 2px #222222, 0 0 0px 0 #ff3333;
  }
  50% {
    box-shadow: inset -1px 1px 5px 2px #444444, inset 1px -1px 5px 2px #222222, 0 0 10px 0 #ffbb33;
  }
  100% {
    box-shadow: inset -1px 1px 5px 2px #444444, inset 1px -1px 5px 2px #222222, 0 0 0px 0 #ff3333;
  }
}
@-moz-keyframes bs2 {
  0% {
    box-shadow: inset -1px 1px 5px 2px #444444, inset 1px -1px 5px 2px #222222, 0 0 0px 0 #ff3333;
  }
  50% {
    box-shadow: inset -1px 1px 5px 2px #444444, inset 1px -1px 5px 2px #222222, 0 0 10px 0 #ffbb33;
  }
  100% {
    box-shadow: inset -1px 1px 5px 2px #444444, inset 1px -1px 5px 2px #222222, 0 0 0px 0 #ff3333;
  }
}
@-o-keyframes bs2 {
  0% {
    box-shadow: inset -1px 1px 5px 2px #444444, inset 1px -1px 5px 2px #222222, 0 0 0px 0 #ff3333;
  }
  50% {
    box-shadow: inset -1px 1px 5px 2px #444444, inset 1px -1px 5px 2px #222222, 0 0 10px 0 #ffbb33;
  }
  100% {
    box-shadow: inset -1px 1px 5px 2px #444444, inset 1px -1px 5px 2px #222222, 0 0 0px 0 #ff3333;
  }
}
@keyframes bs2 {
  0% {
    box-shadow: inset -1px 1px 5px 2px #444444, inset 1px -1px 5px 2px #222222, 0 0 0px 0 #ff3333;
  }
  50% {
    box-shadow: inset -1px 1px 5px 2px #444444, inset 1px -1px 5px 2px #222222, 0 0 10px 0 #ffbb33;
  }
  100% {
    box-shadow: inset -1px 1px 5px 2px #444444, inset 1px -1px 5px 2px #222222, 0 0 0px 0 #ff3333;
  }
}