分享一个H5原生form表单的checkbox特效
声明:本文转载自https://my.oschina.net/sunshineS/blog/1623518,转载目的在于传递更多信息,仅供学习交流之用。如有侵权行为,请联系我,我会及时删除。


<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <style> .md-checkbox { margin: 50px; position: relative; height: auto; font-size: 14px; } .md-checkbox label>span.inc { -webkit-animation: growCircle 0.2s ease; -moz-animation: growCircle 0.2s ease; animation: growCircle 0.2s ease; } @keyframes growCircle { 0%, 100% { transform: scale(0); opacity: 0.8; } 70% { background: #eee; transform: scale(1.25); } } .md-checkbox label>span.inc { background: #fff; left: -20px; top: -20px; height: 60px; width: 60px; opacity: 0; border-radius: 50% !important; -moz-border-radius: 50% !important; -webkit-border-radius: 50% !important; } .md-checkbox input[type=checkbox] { visibility: hidden; position: absolute; } .md-checkbox label { cursor: pointer; padding-left: 30px; } .md-checkbox label>span { display: block; position: absolute; left: 0; -webkit-transition-duration: 0.2s; -moz-transition-duration: 0.2s; transition-duration: 0.2s; } .md-checkbox label>.check { top: -4px; left: 6px; width: 10px; height: 20px; border: 2px solid #26A69A; border-top: none; border-left: none; opacity: 0; z-index: 5; -webkit-transform: rotate(180deg); -moz-transform: rotate(180deg); transform: rotate(180deg); -webkit-transition-delay: 0.2s; -moz-transition-delay: 0.2s; transition-delay: 0.2s; } .md-checkbox input[type=checkbox]:checked~label>.check { opacity: 1; -webkit-transform: scale(1) rotate(45deg); -moz-transform: scale(1) rotate(45deg); transform: scale(1) rotate(45deg); } .md-checkbox input[type=checkbox]:checked~label>.box { opacity: 0; -webkit-transform: scale(0) rotate(-180deg); -moz-transform: scale(0) rotate(-180deg); transform: scale(0) rotate(-180deg); } .md-checkbox label>.box { top: 0px; border: 2px solid #666; height: 20px; width: 20px; z-index: 5; -webkit-transition-delay: 0.2s; -moz-transition-delay: 0.2s; transition-delay: 0.2s; } </style> </head> <body> <div class="md-checkbox"> <input type="checkbox" id="test" class="md-check" /> <label for="test"> <span></span> <span class="check"></span> <span class="box"></span> Option 1 </label> </div> <script> var list = document.getElementsByTagName('input'); for(var i =0;i<list.length;i++){ (function(n){ list[n].addEventListener('click',function(e){ var inc = this.nextElementSibling.firstElementChild; inc.className = ''; setTimeout(function(){ inc.className = 'inc'; },0); }) })(i) } </script> </body> </html>
抱拳了,老铁!
本文发表于2018年02月25日 10:31
(c)注:本文转载自https://my.oschina.net/sunshineS/blog/1623518,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如有侵权行为,请联系我们,我们会及时删除.
阅读 2870 讨论 0 喜欢 0