hack-checkbox

checkbox选择按钮要用我们自己的样式,看到这个的时候,很可能会以为需要checkbox才能实现,用css可能很难。其实狠简单。
<style>
  .checkbox input{
    display: none;
  }
  .checkbox input + label {
    background: url(checkbox1.png) left center no-repeat;
    background-size: 20px 20px;
    padding-left: 20px;
  }
  .checkbox input:checked + label {
    background-image: url(checkbox2.png)
  }
</style>
<body>
  <div class="checkbox">
    <input type="checkbox" id="handsome">
    <label for="handsome">我很帅</label>
  </div>
</body>
首先没有选中的时候,设置一个背景,再设置一个padding,这样就可以显示出来,然后将背景的大小设置成跟padding一样大。选中的话,我们给了一个input:checked这样一个状态。这个状态是css提供的。然后使用了一个+。+号是后续的兄弟元素。也就是当checkbox选中的时候,label的样式就换个背景,这个选择器和+号就是点睛之笔。

 

同样的思路也可以用于radio.
posted @ 2019-02-02 17:11  wzndkj  阅读(254)  评论(0编辑  收藏  举报