这是一款基于纯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; } }