怎么用CSS3美化单选框和多选框


这篇文章主要介绍“怎么用CSS3美化单选框和多选框”,在日常操作中,相信很多人在怎么用CSS3美化单选框和多选框问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么用CSS3美化单选框和多选框”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
  很多时候我们需要美化单选框radio和多选框checkbox,因为原生的样式比较丑陋,而且表现不统一。CSS3之前一般用js来模拟,而如今完全可以用纯CSS实现radio和checkbox的美化。对于移动端很早就写过相关的模拟样式:一个适合移动端的checkbox和css3实现的switch开关按钮。这两篇文章仅仅支持移动端的页面,而webkit上也正好支持单标记的input元素是使用伪类(:before或:after)。最近做PC端项目,考虑到兼容更多的PC浏览器,所以在这基础上作了一些改进。
  看一下HTML结构:
  html代码:
  
  
  
  这个结构有一个label标签,其中包含input元素和i元素。基本的原理是:首先使用visibility:hidden;opacity:0;将input元素“隐藏”起来,利用label标签的特性,在点击时将input元素选中或取消选中。i元素结合伪类(:before或:after)模拟单选框radio和多选框checkbox的外观。
  最后看看CSS代码:
  css代码:
  /*radio*/
  label.bui-radios-labelinput{
  position:absolute;
  opacity:0;
  visibility:hidden;
  }
  label.bui-radios-label.bui-radios{
  display:inline-block;
  position:relative;
  width:13px;
  height:13px;
  background:#FFFFFF;
  border:1pxsolid#979797;
  border-radius:50%;
  vertical-align:-2px;
  }
  label.bui免费云主机域名-radios-labelinput:checked+.bui-radios:after{
  position:absolute;
  content:””;
  width:7px;
  height:7px;
  background-color:#fff;
  border-radius:50%;
  top:3px;
  left:3px;
  }
  label.bui-radios-labelinput:checked+.bui-radios{
  background:#00B066;
  border:1pxsolid#00B066;
  }
  label.bui-radios-labelinput:disabled+.bui-radios{
  background-color:#e8e8e8;
  border:solid1px#979797;
  }
  label.bui-radios-labelinput:disabled:checked+.bui-radios:after{
  background-color:#c1c1c1;
  }
  label.bui-radios-label.bui-radios-anim.bui-radios{
  -webkit-transition:background-colorease-out.3s;
  transition:background-colorease-out.3s;
  }
  这里有几点需要说明的是:
  1.checkbox中的勾勾使用了iconfont,当然你可以改下图片,或用伪类(:before或:after)模拟。
  2.添加了一些简单的过渡效果或背景动画。
  3.特别重要的一点是:利用label标签的特性,对于HTML基础不好同学来说,请先了解一下label标签的特性。

到此,关于“怎么用CSS3美化单选框和多选框”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注百云主机网站,小编会继续努力为大家带来更多实用的文章!

相关推荐: JavaScript如何避免数组中的负数索引

这篇文章主要介绍了JavaScript如何避免数组中的负数索引,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。确保调用indexOf时的参数不是负数。感谢你能够认真阅读完这篇免费云主机域名文章,希…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 09/29 10:15
下一篇 09/29 10:16

相关推荐