首页 >web前端 >css教程 >利用CSS自定义绿色复选框按钮的样式

利用CSS自定义绿色复选框按钮的样式

不言
不言原创
2018-06-12 09:51:372664浏览

这篇文章主要介绍了关于CSS自定义绿色复选框按钮的样式,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下

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

效果图:

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

<p class="i-check">
       <input type="checkbox" value="0" />
       <label></label>
</p>

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

.i-check {   
    width: 20px;   
    height: 20px;   
    position: relative;   
    margin: 20px auto;   
}

复选框的大小根据自己的需要而定. 这里设置margin, 是为了显示在浏览器的中间.
然后就是设定复选框的默认状态, 这里利用label来设置, 其高度和宽度都与.i-check设置一样, 然后给其一个背景色,设置好他的位置.

.i-check label {   
   width: 20px;   
   height: 20px;   
   cursor: pointer;   
   position: absolute;   
   top: 0;   
   left: 0;   
   background: #1A9909;   
   border-radius: 4px;

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

.i-check  label:after {   
    content: &#39;&#39;;   
    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);   
}

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

.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;   
}

好了, 整个效果就完成了, 同理这个也可以去设定单选框的效果。

以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP中文网!

相关推荐:

两种方法用CSS实现背景图尺寸不随浏览器缩放而变化的代码

如何设置CSS 文本字体颜色

如何解决CSS图片下面有间隙的问题

以上是利用CSS自定义绿色复选框按钮的样式的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn