checkbox选中之后怎么改变背景颜色

UI设计的,必须要这么做,点击之后右边的哪个小红点,还有小红圈怎么写?

clipboard.png

阅读 7.2k
3 个回答

<!DOCTYPE html>
<html lang="en">

<head>

<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
<style>
    .hide {
        display: none;
    }

    .square {
        background-color: #fff;
        border: 1px solid #bfbfbf;
        display: inline-block;
        height: 0.9em;
        padding: 2px;
        border-radius: 100%;
        margin-right: 5px;
        margin-top: -2px;
        vertical-align: middle;
        width: 0.9em;
        line-height: 1;
        box-sizing: content-box;
    }

    .hide:checked+.square:after {
        background-color: #ffd958;
        content: "";
        display: inline-block;
        height: 0.9em;
        width: 0.9em;
        vertical-align: top;
        border-radius: 100%;
    }
</style>

</head>

<body>

<label>
    <input class="hide" type="radio" name="sex" id="tbb">
    <span class="square"></span>
    <span>b</span>
</label>
<label>
    <input class="hide" type="radio" name="sex" id="tbg">
    <span class="square"></span>
    <span>g</span>
</label>

</body>

</html>

一般组件是使用了背景图片,你可以审查元素的时候看到,然后单独加class,在class下面修改背景图片

<span><div></div></span>&nbsp;<a href="#">男</a>



     &nbsp;<span><div></div></span>&nbsp;<a href="#">女</a>

        <script>
            
    window.onload = function(){
       
       var divs = document.getElementsByTagName("div"),
           spans = document.getElementsByTagName("span");

       
       for(var i = 0 ; i < divs.length ; i++){
          
          spans[i].index = i;

          
          spans[i].onclick = function(){
              
          
          divs[this.index].style.background = "red";


          }


       }





    }

简单写了一个 ,可以做参考下。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题