/*因为label本身是没有点击后被选中的状态的,checkbox被隐藏后,这个状态只能手动模拟*/
input[type='checkbox']:checked+label {
background-position: 0 -60px;
}
上面代码的效果如下所示,看起来好像也可以了。
不过仔细想想,貌似缺了点什么:选项对应的提示文字
对css不了解的新人可能这时候第一反应就是在label后面用p标签或者span标签来添加文字。不过这种方式都不怎么优雅。个人建议用css的::before和::after伪元素(::before和:before是一个东西。不过为了把“伪元素”和“伪类”区分出来,W3C建议的写法是伪元素用::而伪类用:)
伪元素的具体内容这里不多说,(其实是我也对它们的掌握就仅限于用用而已,对这个谈不上理解,就不误人子弟了)
/* 伪元素的生效很简单,定义`content`就好,其余的属性和普通div一样 */
label::after {
content: attr(data-name);
/*利用attr可以减少css代码量,data-name写在html部分的label属性里*/
display: inline-block;
position: relative;
width: 120px;
height: 60px;
left: 100%;
vertical-align: middle;
margin: 10px;
}当然既然可以用::after模拟label的文字,那也就可以用::before模拟label的checkbox样式,这里就不做解析了。
以上所述是小编给大家介绍的CSS+HTML自定义checkbox效果的实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对软件开发网网站的支持!










