绿色单选按钮以及复选框

CSS自定义复选框按钮样式-绿色复选框

  2016-03-04  吴统威  编程的人

HTML自带的复选框或者单选框按钮样式都是比较简单的一种. 而有时候这些表单控制, 可能需要配合自己的主题样式. 需要去美化他们. 以前可能需要借助JS的实现. 现在CSS也可以完全实现我们想要的效果.


我们直奔主题. 首先想到的是, 复选框需要的是一个背景色, 然后就是一个复选框选中的状态.选中状态我们这里用 "勾号" 来表示. HTML就可以简单的表示了

代码HTML

<div class="i-check">

       <input type="checkbox" value="0" />

       <label></label>

</div>


.i-check 作为整体的复选框.加入的CSS代码也简单

代码CSS

.i-check {

    width: 20px;

    height: 20px;

    position: relative;

    margin: 20px auto;

}

复选框的大小根据自己的需要而定. 这里设置margin, 是为了显示在浏览器的中间. 

然后就是设定复选框的默认状态, 这里利用label来设置, 其高度和宽度都与.i-check设置一样, 然后给其一个背景色,设置好他的位置.

代码CSS

 .i-check label {

    width: 20px;

    height: 20px;

    cursor: pointer;

    position: absolute;

    top: 0;

    left: 0;

    background: #1A9909;

    border-radius: 4px;

}

默认状态我们已经弄好了. 我们继续分析, 那这时候需要的是一个选中状态, 选中状态刚已经讲过用一个勾号表示, 这里我们利用伪类after来设置,设置其边框,及旋转这个after, 就变成了勾号.但是默认状态勾号是隐藏的, 所以我们用了opacity为0. 

代码CSS

.i-check  label:after {

    content: '';

    width: 9px;

    height: 5px;

    position: absolute;

    top: 4px;

    left: 4px;

    border: 3px solid #fff;

    border-top: none;

    border-right: none;

    background: transparent;

    opacity: 0;

    transform: rotate(-45deg);

}


好了, 整个状态设置好了. 现在需要在点击复选框的时候让勾号显示出来.下面的代码就可以完成

代码CSS

.i-check input[type=checkbox]:checked + label:after {

    opacity: 1;

}


写到这里,不要忘记了, 让Input复选框设置其样式, 为了让用户能够点击到, 他的高宽度都要和整体一样大小, 让其在整个盒子的最顶层.这样用户就可以能够随便在这个区域就能点击. OK , 最后一步就是让这个input复选框隐藏起来, 隐藏起来, 不是让他真正的隐藏去掉, 这样的话, 就没有点击效果. 这里隐藏需要的是用opacity来设置为0.

代码名称

.i-check input[type=checkbox] {

    opacity: 0;

    position: absolute;

    z-index: 2;

    left: 0;

    top: 0;

    width: 100%;

    height: 100%;

    margin: 0;

}


  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值