纯CSS点亮和熄灭灯泡

纯CSS点亮和熄灭灯泡

添加时间:2021-03-13 12:54:22
站长推荐丨赞助论坛,可获取海量资源终身免费下载权限奥!
举报 举报
收藏
预览
附件 附件
  • 模板类型模板类型:按钮
  • 模板颜色模板颜色:入门级
  • 下载积分下载积分:28 米粒
  • 下载权限下载权限:

    赞助会员

一款纯CSS点亮和熄灭灯泡的特效,灯泡自身有一个无限摇摆的动画,点击灯泡可以点亮或熄灭,点亮灯泡时会出现发光的提示文字,喜欢的童鞋请收下把。
纯CSS点亮和熄灭灯泡
分类:html/css > 按钮 难易:入门级

页面的head部分,需设置好灯泡点亮和熄灭时的不同样式,还有提示文字的发光样式等,部分代码如下:

html, body {
        font-family: 'Microsoft YaHei','Lantinghei SC','Open Sans',Arial,'Hiragino Sans GB','STHeiti','WenQuanYi Micro Hei','SimSun',sans-serif;
        font-style: bold;
        font-size: 4.8vmin;
        line-height: 4.8vmin;
        color: rgba(255,238,188,0.8);
        margin: 0;
        padding: 0;
        height: 100%;
        background: rgba(66,39,71,1);
        background: -moz-linear-gradient(top, rgba(66,39,71,1) 0%, rgba(43,25,46,1) 73%, rgba(19,11,20,1) 100%);
        background: -webkit-gradient(left top, left bottom, color-stop(0%, rgba(66,39,71,1)), color-stop(73%, rgba(43,25,46,1)), color-stop(100%, rgba(19,11,20,1)));
        background: -webkit-linear-gradient(top, rgba(66,39,71,1) 0%, rgba(43,25,46,1) 73%, rgba(19,11,20,1) 100%);
        background: -o-linear-gradient(top, rgba(66,39,71,1) 0%, rgba(43,25,46,1) 73%, rgba(19,11,20,1) 100%);
        background: -ms-linear-gradient(top, rgba(66,39,71,1) 0%, rgba(43,25,46,1) 73%, rgba(19,11,20,1) 100%);
        background: linear-gradient(to bottom, rgba(66,39,71,1) 0%, rgba(43,25,46,1) 73%, rgba(19,11,20,1) 100%);
    }
    a {
        color: rgba(255,238,188,0.8);
    }
    #lampadario {
        position: fixed;
        left: 50%;
        top: 0;
    }
    #filo {
        position: relative;
        background-color: #000000;
        width: 2px;
        height: 150px;
        left: 50%;
        margin-left: -1px;
        z-index: 1;
        -webkit-transform-origin: 0% 0%;
           -moz-transform-origin: 0% 0%;
            -ms-transform-origin: 0% 0%;
             -o-transform-origin: 0% 0%;
                transform-origin: 0% 0%;
        -webkit-animation: oscillaFilo .9s ease-in-out 0s infinite alternate;
           -moz-animation: oscillaFilo .9s ease-in-out 0s infinite alternate;
            -ms-animation: oscillaFilo .9s ease-in-out 0s infinite alternate;
             -o-animation: oscillaFilo .9s ease-in-out 0s infinite alternate;
                animation: oscillaFilo .9s ease-in-out 0s infinite alternate;
    }
    #filo:after {
        content: " ";
        left: -5px;
        top: 100%;
        position: absolute;
        border-bottom: 15px solid #000000;
        border-left: 4px solid transparent;
        border-right: 4px solid transparent;
        height: 0;
        width: 4px;
    }
    #lampadina {
        position:relative;
    }
    input[value="off"]:checked ~
    #filo {
        -webkit-box-shadow: -80px -10px 7px 0 rgba(0,0,0,0.1);
           -moz-box-shadow: -80px -10px 7px 0 rgba(0,0,0,0.1);
            -ms-box-shadow: -80px -10px 7px 0 rgba(0,0,0,0.1);
             -o-box-shadow: -80px -10px 7px 0 rgba(0,0,0,0.1);
                box-shadow: -80px -10px 7px 0 rgba(0,0,0,0.1);
    }
    input[value="off"]:checked ~
    #filo:after {
        -webkit-box-shadow: -80px -10px 10px -2px rgba(0,0,0,0.1);
           -moz-box-shadow: -80px -10px 10px -2px rgba(0,0,0,0.1);
            -ms-box-shadow: -80px -10px 10px -2px rgba(0,0,0,0.1);
             -o-box-shadow: -80px -10px 10px -2px rgba(0,0,0,0.1);
                box-shadow: -80px -10px 10px -2px rgba(0,0,0,0.1);
    }
    
    input {
        position: absolute;
        width: 90px;
        height: 70px;
        top: 150px;
        margin-left:-45px;
        opacity: 0;
        z-index: 1;
        cursor: pointer;
    }
    
    input[value="on"] {
        top: 150px;
    }
    input[value="off"] {
        top: -100px;
    }
    input[value="on"]:checked {
        top: -100px;
    }
    input[value="on"]:checked + input[value="off"] {
        top: 150px;
    }
    
    label {
        width: 51px;
        height: 51px;
        top: 164px;
        position: absolute;
        left: 0;
        margin-left: -24px;
        -webkit-border-radius: 100%;
           -moz-border-radius: 100%;
            -ms-border-radius: 100%;
             -o-border-radius: 100%;
                border-radius: 100%;
        -webkit-animation: oscillaLampadina .9s ease-in-out 0s infinite alternate;
           -moz-animation: oscillaLampadina .9s ease-in-out 0s infinite alternate;
            -ms-animation: oscillaLampadina .9s ease-in-out 0s infinite alternate;
             -o-animation: oscillaLampadina .9s ease-in-out 0s infinite alternate;
                animation: oscillaLampadina .9s ease-in-out 0s infinite alternate;
    }           
    input[value="off"]:checked ~
    label {
        background: rgba(255,255,255,0.03);
        -webkit-box-shadow: inset 0px 1px 5px rgba(255,255,255,0.1), inset 0px 2px 20px rgba(255,255,255,0.07), -80px -15px 15px -5px rgba(0,0,0,0.1);
           -moz-box-shadow: inset 0px 1px 5px rgba(255,255,255,0.1), inset 0px 2px 20px rgba(255,255,255,0.07), -80px -15px 15px -5px rgba(0,0,0,0.1);
            -ms-box-shadow: inset 0px 1px 5px rgba(255,255,255,0.1), inset 0px 2px 20px rgba(255,255,255,0.07), -80px -15px 15px -5px rgba(0,0,0,0.1);
             -o-box-shadow: inset 0px 1px 5px rgba(255,255,255,0.1), inset 0px 2px 20px rgba(255,255,255,0.07), -80px -15px 15px -5px rgba(0,0,0,0.1);
                box-shadow: inset 0px 1px 5px rgba(255,255,255,0.1), inset 0px 2px 20px rgba(255,255,255,0.07), -80px -15px 15px -5px rgba(0,0,0,0.1);
    }
    input[value="on"]:checked ~
    label {
        background: rgba(255,238,188,1);
        -webkit-box-shadow: 0px 0px 10px rgba(255,238,188,0.8), 0px 0px 30px rgba(255,238,188,0.6), 0px 0px 50px rgba(255,238,188,0.6), 0px 0px 70px rgba(255,238,188,0.4), -80px -15px 120px 0px rgba(255,238,188,0.2);
           -moz-box-shadow: 0px 0px 10px rgba(255,238,188,0.8), 0px 0px 30px rgba(255,238,188,0.6), 0px 0px 50px rgba(255,238,188,0.6), 0px 0px 70px rgba(255,238,188,0.4), -80px -15px 120px 0px rgba(255,238,188,0.2);
            -ms-box-shadow: 0px 0px 10px rgba(255,238,188,0.8), 0px 0px 30px rgba(255,238,188,0.6), 0px 0px 50px rgba(255,238,188,0.6), 0px 0px 70px rgba(255,238,188,0.4), -80px -15px 120px 0px rgba(255,238,188,0.2);
             -o-box-shadow: 0px 0px 10px rgba(255,238,188,0.8), 0px 0px 30px rgba(255,238,188,0.6), 0px 0px 50px rgba(255,238,188,0.6), 0px 0px 70px rgba(255,238,188,0.4), -80px -15px 120px 0px rgba(255,238,188,0.2);
                box-shadow: 0px 0px 10px rgba(255,238,188,0.8), 0px 0px 30px rgba(255,238,188,0.6), 0px 0px 50px rgba(255,238,188,0.6), 0px 0px 70px rgba(255,238,188,0.4), -80px -15px 120px 0px rgba(255,238,188,0.2);
    }

页面的body部分,分别用了两个input radio来控制灯泡的不同状态,点亮时的文字放在div容器里,代码如下:

<div id="lampadario">
  <input type="radio" name="switch" value="on" />
  <input type="radio" name="switch" value="off" checked="checked" />
  <label for="switch"></label>
  <div id="filo"></div>
  <div id="lampadina">
    <div id="sorpresa">
      <div id="footer">
        点亮人生
      </div>
      <div id="shadow">
        点亮人生
      </div>
    </div>
  </div>
</div>
上一篇:js中国地图组件
下一篇:jQuery泼墨特效
相关内容推荐
资源求助发帖
查看更多发帖

*

回帖描述:

*

链接类型:

*

下载链接:

密码:
发帖规则:回帖内容为会员之间的私信,普通网友无法查看。
免责声明:回帖中提供的链接内容仅供会员之间学习参考使用,获取内容后请在法律法规范围内使用。回帖提供的内容应符合法律法规要求,不得违反法律法律的要求。
站点权责:回帖内容如违反法律法规,站点有权封停账号使用权利。对用户举报的内容,站点有责任及时删除违规内容。
热点内容推荐
标题:纯CSS点亮和熄灭灯泡

*

描述:
平均回复时间:3-10分钟
规则介绍:悬赏寻求论坛网友分享资源,站点对分享内容的准确性,合法性,版权等没有足够的监管能力。如果您发现资源不正确,无法使用,不符合法律法律等情况,您可以直接举报资源。站长将尽快核实您的举报,并根据情况,采取封号,退换米粒等处理。

*

回帖描述:

*

链接类型:

*

阅读权限:

*

下载链接:

密码:
发帖规则:回帖内容为会员之间的私信,普通网友无法查看。
免责声明:回帖中提供的链接内容仅供会员之间学习参考使用,获取内容后请在法律法规范围内使用。回帖提供的内容应符合法律法规要求,不得违反法律法律的要求。
站点权责:回帖内容如违反法律法规,站点有权封停账号使用权利。对用户举报的内容,站点有责任及时删除违规内容。
  • 背景波浪
  • 背景波浪
  • 波浪
  • 波浪
客服
在线咨询
周一 至 周日 9:00 ~ 22:00
QQ:1326974360
微信:juyoubuluo6688
客服热线
18205485173
工作日 9:00 ~ 18:00
微信扫码咨询
客户服务
欢迎咨询服务
咨询量较多时,请耐心等待
社群

关注公众号

获取更多资讯

扫码进群(QQ)

与更多大牛交流沟通

0.094593s