自定义复选框样式

前言

今天给大家分享一种为复选框添加样式的方式,由于只为提供一种思路,对于不同背景图示例代码在各个浏览器之间运行起来样式会存在一些偏差,这里不作考虑,但是这种方式是兼容所有浏览器的,废话少说,上代码:

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <!--这是一个reset的样式-->
    <link rel="stylesheet" href="./normalize.min.css">
    <style>
        #checkbox{
            width:100%;height:100%;
            opacity:0;/*关键:透明度设为零*/
            filter:alpha(opacity=0);
            -moz-opacity:0;
            -webkit-opacity:0;
        }
        #checkIcon{
            width:16px;height:16px;
            display:inline-block;
            vertical-align:middle;
            background-image:url(./big.png);
            background-repeat:no-repeat;
        }
        label{
            font-size:14px;
        }
        .uncheck{
            background-position:-138px 0;
        }
        .check{
            background-position:-167px 0;
        }
    </style>
</head>
<body>
    <span id="checkIcon" class="uncheck"><input type="checkbox" id="checkbox"></span><label for="checkbox">自定义复选框样式</label>
    <script>
        var checkIcon = document.getElementById('checkIcon');
        var checkbox = document.getElementById('checkbox');
        checkIcon.onclick = function() {
            checkbox.checked ? checkIcon.className = 'check' : checkIcon.className = 'uncheck';
        }
    </script>
</body>
</html>

代码中利用一个span作为背景来显示复选框的新样式,通过改变span的class属性来改变复选框的状态,用一个label标签与复选框关联,好让点击文字时依然能改变复选框的状态,需要的注意的是,这里的复选框的样式要设为opacity:0,而不是visibility:hidden,更不是display:hidden,不然复选框本身将无法点击改变状态,出现一些麻烦。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
CSS自定义框是一种使用CSS样式来自定义HTML框的方法。通过使用一些CSS属性和伪类择器,我们可以改变框的外观和行为。 首先,我们可以使用checkbox标签来创建一个框。然后,通过设置display属性为none,我们可以隐藏原始的框,以便自定义其外观。 接下来,我们可以使用label标签来创建一个自定义框图标。通过设置label的display属性为inline-block,并且设置其宽度、高度、背景颜色等属性,我们可以定义框的外观。 要实现当框被中时的效果,我们可以使用:checked伪类择器。通过设置:checked伪类择器下的label的背景颜色或其他属性,我们可以改变框被中时的样式。 除了基本的样式外,我们还可以使用伪元素择器,如:before和:after来创建框的勾图标。通过设置这些伪元素择器的内容、位置和样式,我们可以定义框被中时的勾图标。 最后,我们可以通过使用CSS动画和过渡属性,为框添加动态效果。例如,通过设置框的过渡属性和:hover伪类择器下的样式,我们可以在鼠标悬停时为框添加过渡效果。 总的来说,CSS自定义框可以帮助我们实现更加个性化和美观的样式。通过使用一些CSS属性、伪类择器和伪元素择器,我们可以根据需求自定义框的外观和行为,并通过动画和过渡属性为其添加动态效果。这为我们提供了更大的设计自由度和灵活性。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值