通过点击CheckBox实现背景变换小案例

今天给大家介绍一个例子,例子是实现背景的切换的,这里通过使用input标签中的checkbox中的checked实现,我觉得还是一个不错的例子,分享给大家。

在看代码之前先介绍一些知识点:

CheckBox的伪类选择器:checked伪类仅仅适用于单选按钮或则复选框,所以如果在其他类型的元素定义checked伪类,checked会失效。

css中 ‘+’号的使用:

  • 二者有相同的父元素,
  • 选择紧接在另一个元素后的元素,即是相邻的选择器

 总结上面两点,当checked伪类选择器和+配合使用时 :+ 介于两个选择器之间,当第二个元素紧跟在第一个元素之后,并且两个元素都是属于同一个父元素的子元素,则第二个元素将被选中。也可以理解为在为类选择器选择的时候,使用原始的input:checked+class/label(每当选中时,改变其后class/label中的内容样式)

 本案例通过点击checkbox实现选择效果,点击了第一下表示选中了这个id叫modeCheckBox的多选框,此时显示黑夜,内容为月亮标记,再点一下表示取消选择,恢复为默认的太阳。

OK知识点介绍完毕,下面你们就直接copy代码去浏览器上面跑一跑吧,感受一下css的奇妙

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
   <input id="modeCheckBox" type="checkbox"> 
    <!-- 通过点击,记住勾选和不勾选的两个状态,刚好对应浅色模式和深色模式两种状态 -->
  <div class="content">
     
      <label id="modeBtn" for="modeCheckBox">点我切换</label>
      <h1>深浅色模式切换</h1>
    
  </div>
</body>
</html> 
<style>

body,
    html {
      width: 100%;
      height: 100%;
      padding: 0;
      margin: 0;
      overflow: hidden;
    }

    body {
      box-sizing: border-box;
    }

    .content {
      padding: 10px;
      transition: background-color 1s, color 1s;
    }

    #modeCheckBox {
       display: none; /*//将大盒子外面的checkbox隐藏起来 */
    }

    #modeCheckBox:checked+.content { 
        /* 通过 checkbox 的伪类选择器checked,点击checkbox就会触发这个伪类 */
      background-color: black;
      color: white;
      transition: all 1s;
    }

    #modeBtn {
      font-size: 2rem;
      float: right;
    }

    #modeBtn::after {
      content: '🌞';
    }

    #modeCheckBox:checked+.content #modeBtn::after {
      content: '🌜';
    }
  </style>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

H-rosy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值