本示例实现了两种单选按钮动画效果,一种是移动,一种是滑块,以下是html布局以及css样式

html:这里使用了label标签的for属性,以此来绑定radio

  1. <div class="checkbox-1">
  2. <input type="checkbox" name="checkbox-1" id="checkbox-1-1" checked="checked">
  3. <label for="checkbox-1-1"></label>
  4.  
  5. <input type="checkbox" name="checkbox-1" id="checkbox-1-2">
  6. <label for="checkbox-1-2"></label>
  7.  
  8. <input type="checkbox" name="checkbox-1" id="checkbox-1-3">
  9. <label for="checkbox-1-3"></label>
  10. </div>
  11. <div class="checkbox-2">
  12. <input type="checkbox" name="checkbox-2" id="checkbox-2-1" checked="checked">
  13. <label for="checkbox-2-1"></label>
  14.  
  15. <input type="checkbox" name="checkbox-2" id="checkbox-2-2">
  16. <label for="checkbox-2-2"></label>
  17.  
  18. <input type="checkbox" name="checkbox-2" id="checkbox-2-3">
  19. <label for="checkbox-2-3"></label>
  20. </div>

css

  1. <style type="text/css">
  2. .checkbox-1{
  3. width: 980px;
  4. margin: 0 auto;
  5. text-align: center;
  6. padding: 3% 0;
  7. background-color: #99cccc;
  8. }
  9. .checkbox-1 label{
  10. display: inline-block;
  11. width: 10px;
  12. height: 10px;
  13. padding: 9px;
  14. border: 1px #cccccc solid;
  15. -webkit-border-radius: 4px;
  16. -moz-border-radius: 4px;
  17. border-radius: 4px;
  18. background-color: #ffffff;
  19. color: #333;
  20. margin-right: 10px;
  21. overflow: hidden;
  22. position: relative;
  23. cursor: pointer;
  24. }
  25. .checkbox-1 [type="checkbox"]{
  26. display: none;
  27. }
  28. .checkbox-1 label:after{
  29. content: 'X';
  30. font-family: Arial;
  31. color: #ffffff;
  32. background-color: #399;
  33. position: absolute;
  34. top: 1px;
  35. left: 1px;
  36. width: 26px;
  37. height: 26px;
  38. line-height: 26px;
  39. -webkit-border-radius: 4px;
  40. -moz-border-radius: 4px;
  41. border-radius: 4px;
  42. text-align: center;
  43. -webkit-transform: translateY(-30px);
  44. -moz-transform: translateY(-30px);
  45. -ms-transform: translateY(-30px);
  46. -o-transform: translateY(-30px);
  47. transform: translateY(-30px);
  48. -webkit-transition: -webkit-transform .2s ease-in;
  49. -moz-transition: -moz-transform .2s ease-in;
  50. -ms-transition: -ms-transform .2s ease-in;
  51. -o-transition: -o-transform .2s ease-in;
  52. transition: transform .2s ease-in;
  53. }
  54. .checkbox-1 [type="checkbox"]:checked + label:after{
  55. -webkit-transform: translateY(0);
  56. -moz-transform: translateY(0);
  57. -ms-transform: translateY(0);
  58. -o-transform: translateY(0);
  59. transform: translateY(0);
  60. -webkit-transition: -webkit-transform .2s ease-in;
  61. -moz-transition: -moz-transform .2s ease-in;
  62. -ms-transition: -ms-transform .2s ease-in;
  63. -o-transition: -o-transform .2s ease-in;
  64. transition: transform .2s ease-in;
  65. }
  66.  
  67. .checkbox-2{
  68. width: 980px;
  69. margin: 0 auto;
  70. text-align: center;
  71. padding: 3% 0;
  72. background-color: #99cccc;
  73. }
  74. .checkbox-2 label{
  75. display: inline-block;
  76. width: 68px;
  77. height: 34px;
  78. border: 1px #cccccc solid;
  79. -webkit-border-radius: 18px;
  80. -moz-border-radius: 18px;
  81. border-radius: 18px;
  82. background-color: #ffffff;
  83. margin-right: 10px;
  84. position: relative;
  85. cursor: pointer;
  86. -webkit-transition: background-color .2s ease-in;
  87. -moz-transition: background-color .2s ease-in;
  88. -ms-transition: background-color .2s ease-in;
  89. -o-transition: background-color .2s ease-in;
  90. transition: background-color .2s ease-in;
  91. }
  92. .checkbox-2 [type="checkbox"]{
  93. display: none;
  94. }
  95. .checkbox-2 label:after{
  96. content: '';
  97. position: absolute;
  98. left: 1px;
  99. top: 1px;
  100. width: 30px;
  101. height: 30px;
  102. border: 1px #e0e0e0 solid;
  103. background-color: #ffffff;
  104. -webkit-border-radius: 50%;
  105. -moz-border-radius: 50%;
  106. border-radius: 50%;
  107. -webkit-transition: left .2s ease-in;
  108. -moz-transition: left .2s ease-in;
  109. -ms-transition: left .2s ease-in;
  110. -o-transition: left .2s ease-in;
  111. transition: left .2s ease-in;
  112. }
  113. .checkbox-2 [type="checkbox"]:checked + label{
  114. background-color: #33cc66;
  115. -webkit-transition: background-color .2s ease-in;
  116. -moz-transition: background-color .2s ease-in;
  117. -ms-transition: background-color .2s ease-in;
  118. -o-transition: background-color .2s ease-in;
  119. transition: background-color .2s ease-in;
  120. }
  121. .checkbox-2 [type="checkbox"]:checked + label:after{
  122. left: 35px;
  123. -webkit-transition: left .2s ease-in;
  124. -moz-transition: left .2s ease-in;
  125. -ms-transition: left .2s ease-in;
  126. -o-transition: left .2s ease-in;
  127. transition: left .2s ease-in;
  128. }
  129. </style>

CSS3复选框动画的更多相关文章

  1. 8个非常个性化的CSS3单/复选框

    单选框和复选框在网页表单中应用十分广泛,但是浏览器默认自带的单选框和复选框样式不仅不统一,而且大多都比较简单丑陋.本文给大家介绍了一些基于CSS3的个性化单选框和复选框,一些选中动画是基于jQuery ...

  2. 基于CSS3自定义美化复选框Checkbox组合

    今天我们要来分享一组非常漂亮的CSS3自定义复选框checkbox,每一个checkbox都有其各自的特点.有几款checkbox在选中的情况下还会出现动画效果,非常不错的CSS3自定义美化check ...

  3. 纯CSS3来自定义单选框radio与复选框checkbox

    单选框(radio)自定义样式 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 3 ...

  4. anime.js 实战:实现一个带有描边动画效果的复选框

    在网页或者是APP的开发中,动画运用得当可以起到锦上添花的作用.正确使用动画,不但可以有助于用户理解交互的作用,还可以大大提高网页应用的魅力和使用体验.并且在现在的网页开发中,动画已经成为了一个设计的 ...

  5. css3美化复选框checkbox

     两种美化效果如下图: 代码(html) <div id="main"> <h2 class="top_title">使用CSS3美化复 ...

  6. 使用CSS3美化复选框checkbox

    我们知道HTML默认的复选框样式十分简陋,而以图片代替复选框的美化方式会给页面表单的处理带来麻烦,那么本文将结合实例带您一起了解一下使用CSS3将复选框checkbox进行样式美化,并且带上超酷的滑动 ...

  7. iOS Instruments之Core Animation动画性能调优(工具复选框选项介绍)

    Core Animation工具用来监测Core Animation性能.它给我们提供了周期性的FPS,并且考虑到了发生在程序之外的动画(见图12.4) Core Animation工具提供了一系列复 ...

  8. CSS效果:这里有你想要的CSS3漂亮的自定义Checkbox各种复选框

    在原来有一篇文章写到了<CSS效果篇--纯CSS+HTML实现checkbox的思路与实例>. 今天这篇文章主要写各种自定义的checkbox复选框,实现如图所示的复选框: 大致的html ...

  9. 使用css3美化复选框

    声明:文章为转载(略改动),点击查看原文.如有侵权24小时内删除,联系QQ:1522025433. 我们知道HTML默认的复选框样式十分简陋,而以图片代替复选框的美化方式会给页面表单的处理带来麻烦,那 ...

随机推荐

  1. selenium:IE浏览器获取cookie提示Could not retrieve cookies

    from selenium import webdriver url = "https://www.baidu.com" dr = webdriver.Ie() dr.get(ur ...

  2. 小故事学设计模式之Observer : (三) 老婆帮忙订机票

    (IT的事就是过场多,过场多了就容易忘,所以我们不妨看一个记一个,这也是一个办法,顺便还能跟同行们交流一下)  要和老婆一起回老家了, 成都离我们安徽太远, 两个人飞一下过去就要花掉近三千块, 于是我 ...

  3. IOS 播放视频(MPMoviePlayerController、MPMoviePlayerViewController)

    ● iOS提供了叫 做MPMoviePlayerController.MPMoviePlayerViewController的两个 类,可以用来轻松播放视频 ➢ YouTobe就是用MPMoviePl ...

  4. 【Unity3D】【NGUI】UIRect的Anchor的使用

    NGUI版本号:3.6.5 以以下的图,解释下主要的Anchors的使用(能够通过官方的Anchor和Chat样例进行深入学习) Target不是一定要是Sprite.能够是随意的UIRect(UIS ...

  5. [JSOI2010]部落划分

    嘟嘟嘟 一道不错的题,解法不少. 最易于理解的是最小生成树的做法: 首先每两个点之间都连一条长度为这两个点的距离的边,形成完全图. 然后跑最小生成树,直到剩k个联通块,这时候合并成k - 1个联通块的 ...

  6. JavaScript闭包简单学习

    因为实验室项目要用,所以最近在学习OpenLayers,但是从来没有做过前端呀,坑爹的,硬着头皮上吧 反正正好借这个机会学习一下JS,本来对这门语言也挺感兴趣的,多多少少写过一下JS代码了,差不多学一 ...

  7. 学习WebSocket笔记

    由于HTTP协议是无状态的,服务器只会响应来自客户端的请求,但是它与客户端之间不具备持续连接. 当用户在浏览器上进行操作时,可以请求服务器上的api:但是反过来不可以:服务端发生了一件事,无法将这个事 ...

  8. Flask—04-文件上传与邮件发送(自带优化)

    文件上传与邮件发送 可以按照标题分别直接粘贴对应的文件夹,运行直接用: 原生上传 模板文件 <form method="post" enctype="multipa ...

  9. 并发编程之多线程基础-join方法及优先级(五)

    join()方法作用 当在主线程当中执行到t1.join()方法时,就认为主线程应该把执行权让给t1 优先级 现代操作系统基本采用时分的形式调度运行的线程,线程分配得到的时间片的多少决定了线程使用处理 ...

  10. poj 3177 Redundant Paths 求最少添加几条边成为双联通图: tarjan O(E)

    /** problem: http://poj.org/problem?id=3177 tarjan blog: https://blog.csdn.net/reverie_mjp/article/d ...