吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2643|回复: 48
收起左侧

[其他转载] 【其他转载】html霓虹灯开关

   关闭 [复制链接]
bgwu666 发表于 2024-9-2 02:02

霓虹灯开关

分享一款来自公众号@XiaoSaurus的原创霓虹灯html代码,该代码为纯html,CSS写在了内部,不需要额外引入,霓虹灯开关效果很漂亮,应用在个人物联网项目中是一个比较不错的选择。

图片

源码分享

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

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>霓虹灯</title>
    <style>
        *{border:0;box-sizing:border-box;margin:0;padding:0}:root{--hue:223;--off-hue:3;--on-hue1:123;--on-hue2:168;--fg:hsl(var(--hue),10%,90%);--primary:hsl(var(--hue),90%,50%);--trans-dur:0.6s;--trans-timing:cubic-bezier(0.65,0,0.35,1);font-size:calc(40px + (60 - 40) * (100vw - 320px) / (2560 - 320))}body,input{font:1em/1.5 sans-serif}body{background-image:linear-gradient(45deg,hsl(var(--hue),10%,20%),hsl(var(--hue),10%,10%));color:var(--fg);display:flex;height:100vh;transition:background-color var(--trans-dur),color var(--trans-dur)}.switch,.switch__input{-webkit-tap-highlight-color:#0000}.switch{display:block;margin:auto;position:relative;width:5em;height:3em}.switch__base-outer,.switch__base-inner{display:block;position:absolute}.switch__base-outer{border-radius:1.25em;box-shadow:-0.125em -0.125em 0.25em hsl(var(--hue),10%,30%),0.125em 0.125em 0.125em hsl(var(--hue),10%,30%) inset,0.125em 0.125em 0.25em hsl(0,0%,0%),-0.125em -0.125em 0.125em hsl(var(--hue),10%,5%) inset;top:0.125em;left:0.125em;width:4.75em;height:2.75em}.switch__base-inner{border-radius:1.125em;box-shadow:-0.25em -0.25em 0.25em hsl(var(--hue),10%,30%) inset,0.0625em 0.0625em 0.125em hsla(var(--hue),10%,30%),0.125em 0.25em 0.25em hsl(var(--hue),10%,5%) inset,-0.0625em -0.0625em 0.125em hsla(var(--hue),10%,5%);top:0.375em;left:0.375em;width:4.25em;height:2.25em}.switch__base-neon{display:block;overflow:visible;position:absolute;top:0;left:0;width:100%;height:auto;cursor:pointer}.switch__base-neon path{stroke-dasharray:0 104.26 0;transition:stroke-dasharray var(--trans-dur) var(--trans-timing)}.switch__input{outline:transparent;position:relative;width:100%;height:100%;-webkit-appearance:none;appearance:none}.switch__input:before{border-radius:0.125em;box-shadow:0 0 0 0.125em hsla(var(--hue),90%,50%,0);content:"";display:block;position:absolute;inset:-0.125em;transition:box-shadow 0.15s linear}.switch__input:focus-visible:before{box-shadow:0 0 0 0.125em var(--primary)}.switch__knob,.switch__knob-container{border-radius:1em;display:block;position:absolute;cursor:pointer}.switch__knob{background-color:hsl(var(--hue),10%,15%);background-image:radial-gradient(88% 88% at 50% 50%,hsl(var(--hue),10%,20%) 47%,hsla(var(--hue),10%,20%,0) 50%),radial-gradient(88% 88% at 47% 47%,hsl(var(--hue),10%,85%) 45%,hsla(var(--hue),10%,85%,0) 50%),radial-gradient(65% 70% at 40% 60%,hsl(var(--hue),10%,20%) 46%,hsla(var(--hue),10%,20%,0) 50%);box-shadow:-0.0625em -0.0625em 0.0625em hsl(var(--hue),10%,15%) inset,-0.125em -0.125em 0.0625em hsl(var(--hue),10%,5%) inset,0.75em 0.25em 0.125em hsla(0,0%,0%,0.8);width:2em;height:2em;transition:transform var(--trans-dur) var(--trans-timing)}.switch__knob-container{overflow:hidden;top:0.5em;left:0.5em;width:4em;height:2em}.switch__knob-neon{display:block;width:2em;height:auto}.switch__knob-neon circle{opacity:0;stroke-dasharray:0 90.32 0 54.19;transition:opacity var(--trans-dur) steps(1,end),stroke-dasharray var(--trans-dur) var(--trans-timing)}.switch__knob-shadow{border-radius:50%;box-shadow:0.125em 0.125em 0.125em hsla(0,0%,0%,0.9);display:block;position:absolute;top:0.5em;left:0.5em;width:2em;height:2em;transition:transform var(--trans-dur) var(--trans-timing)}.switch__led{background-color:hsl(var(--off-hue),90%,70%);border-radius:50%;box-shadow:0 -0.0625em 0.0625em hsl(var(--off-hue),90%,40%) inset,0 0 0.125em hsla(var(--off-hue),90%,70%,0.3),0 0 0.125em hsla(var(--off-hue),90%,70%,0.3),0.125em 0.125em 0.125em hsla(0,0%,0%,0.5);display:block;position:absolute;top:0;left:0;width:0.25em;height:0.25em;transition:background-color var(--trans-dur) var(--trans-timing),box-shadow var(--trans-dur) var(--trans-timing)}.switch__text{overflow:hidden;position:absolute;width:1px;height:1px}.switch__input:checked~.switch__led{background-color:hsl(var(--on-hue1),90%,70%);box-shadow:0 -0.0625em 0.0625em hsl(var(--on-hue1),90%,40%) inset,0 -0.125em 0.125em hsla(var(--on-hue1),90%,70%,0.3),0 0.125em 0.125em hsla(var(--on-hue1),90%,70%,0.3),0.125em 0.125em 0.125em hsla(0,0%,0%,0.5)}.switch__input:checked~.switch__base-neon path{stroke-dasharray:52.13 0 52.13}.switch__input:checked~.switch__knob-shadow,.switch__input:checked~.switch__knob-container .switch__knob{transform:translateX(100%)}.switch__input:checked~.switch__knob-container .switch__knob-neon circle{opacity:1;stroke-dasharray:45.16 0 45.16 54.19;transition-timing-function:steps(1,start),var(--trans-timing)}
    </style>
</head>

<body>
    <label class="switch">
        <input class="switch__input" type="checkbox" role="switch">
        <span class="switch__base-outer"></span>
        <span class="switch__base-inner"></span>
        <svg class="switch__base-neon" viewBox="0 0 40 24" width="40px" height="24px">
            <defs>
                <filter id="switch-glow">
                    <feGaussianBlur result="coloredBlur" stddeviation="1"></feGaussianBlur>
                    <feMerge>
                        <feMergeNode in="coloredBlur"></feMergeNode>
                        <feMergeNode in="SourceGraphic"></feMergeNode>
                    </feMerge>
                </filter>
                <linearGradient id="switch-gradient1" x1="0" y1="0" x2="1" y2="0">
                    <stop offset="0%" stop-color="hsl(var(--on-hue1),90%,70%)" />
                    <stop offset="100%" stop-color="hsl(var(--on-hue2),90%,70%)" />
                </linearGradient>
                <linearGradient id="switch-gradient2" x1="0.7" y1="0" x2="0.3" y2="1">
                    <stop offset="25%" stop-color="hsla(var(--on-hue1),90%,70%,0)" />
                    <stop offset="50%" stop-color="hsla(var(--on-hue1),90%,70%,0.3)" />
                    <stop offset="100%" stop-color="hsla(var(--on-hue2),90%,70%,0.3)" />
                </linearGradient>
            </defs>
            <path fill="none" filter="url(#switch-glow)" stroke="url(#switch-gradient1)" stroke-width="1"
                stroke-dasharray="0 104.26 0" stroke-dashoffset="0.01" stroke-linecap="round"
                d="m.5,12C.5,5.649,5.649.5,12,.5h16c6.351,0,11.5,5.149,11.5,11.5s-5.149,11.5-11.5,11.5H12C5.649,23.5.5,18.351.5,12Z" />
        </svg>
        <span class="switch__knob-shadow"></span>
        <span class="switch__knob-container">
            <span class="switch__knob">
                <svg class="switch__knob-neon" viewBox="0 0 48 48" width="48px" height="48px">
                    <circle fill="none" stroke="url(#switch-gradient2)" stroke-dasharray="0 90.32 0 54.19"
                        stroke-linecap="round" stroke-width="1" r="23" cx="24" cy="24"
                        transform="rotate(-112.5,24,24)" />
                </svg>
            </span>
        </span>
        <span class="switch__led"></span>
        <span class="switch__text">Power</span>
    </label>
</body>

</html>

原文链接:霓虹灯(可复制源代码)

免费评分

参与人数 15吾爱币 +13 热心值 +12 收起 理由
X1nless + 1 + 1 我很赞同!
qsj521521 + 1 + 1 谢谢@Thanks!
abclihongzhi + 1 谢谢@Thanks!
xiaofeng4929 + 1 谢谢@Thanks!
xiaoye6688 + 1 我很赞同!
woyucheng + 1 + 1 谢谢@Thanks!
ytw6176 + 1 + 1 谢谢@Thanks!
xiaofendui001 + 1 + 1 谢谢@Thanks!
zhoufl + 1 谢谢@Thanks!
freckle + 1 + 1 谢谢@Thanks!
HZ62091 + 1 + 1 谢谢@Thanks!
YYFC888 + 1 用心讨论,共获提升!
ilpj + 1 + 1 谢谢@Thanks!
wxue + 1 + 1 谢谢@Thanks!
为之奈何? + 1 + 1 我很赞同!

查看全部评分

本帖被以下淘专辑推荐:

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

星峰 发表于 2024-9-2 09:34
https://uiverse.io/
我常用的样式效果站,3000多种

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
Justman + 1 + 1 谢谢@Thanks!

查看全部评分

xiaop 发表于 2024-9-2 02:31
xiaop 发表于 2024-9-2 02:25
 楼主| bgwu666 发表于 2024-9-2 02:28

是的,效果很赞,所以分享出来
ranlywu 发表于 2024-9-2 03:40
好看呀,学习了
mmcc1984 发表于 2024-9-2 07:47
感谢分享,样式很不错。
a7896513032 发表于 2024-9-2 07:56
保存备用
Ditto 发表于 2024-9-2 08:12
这个看起来真不错 收藏备用
ilpj 发表于 2024-9-2 08:18
感谢分享 收藏备用
leasae 发表于 2024-9-2 08:19
感谢楼主的分享
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-12-16 02:57

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表