Toggle navigation
在线编辑器
在线代码
文本比较
jQuery下载
前端库
在线手册
登录/注册
下载代码
html
css
js
分享到微信朋友圈
X
html
Power (Light)
Power (Dark)
css
* { border: 0; box-sizing: border-box; margin: 0; padding: 0; } :root { /* surface and button */ --hue: 223; --sat: 10%; /* button light color */ --hue2: 223; --sat2: 90%; --light2: 60%; /* other */ --primary: hsl(var(--hue2),var(--sat2),var(--light2)); --trans-dur: 0.3s; --trans-timing: ease-in-out; --trans-timing2: cubic-bezier(0.42,-1.84,0.42,1.84); --trans-timing3: cubic-bezier(0.42,0,0.42,1.84); font-size: 20px; } body, button { font: 1em/1.5 sans-serif; } body { height: 100vh; transition: background-color var(--trans-dur), color var(--trans-dur); } main { display: flex; flex-direction: column; width: 100%; height: 100%; } /* Light */ .col { background-image: linear-gradient(hsl(var(--hue),var(--sat),90%),hsl(var(--hue),var(--sat),75%)); display: flex; flex: 1; padding: 1.5em 0; min-height: 13em; } .btn { background-color: transparent; background-image: linear-gradient(hsl(var(--hue),var(--sat),80%),hsl(var(--hue),var(--sat),85%)); border-radius: 50%; box-shadow: 0 0 0 0.125em hsla(var(--hue2),var(--sat2),50%,0), 0 0 0.25em hsl(var(--hue),var(--sat),55%) inset, 0 0.125em 0.125em hsl(var(--hue),var(--sat),90%); cursor: pointer; margin: auto; outline: transparent; position: relative; width: 10em; height: 10em; transition: box-shadow var(--trans-dur) var(--trans-timing); -webkit-tap-highlight-color: transparent; } .btn:focus-visible { box-shadow: 0 0 0 0.125em hsla(var(--hue2),var(--sat2),50%,1), 0 0 0.25em hsl(var(--hue),var(--sat),55%) inset, 0 0.125em 0.125em hsl(var(--hue),var(--sat),90%); } .btn:before, .btn:after { border-radius: inherit; content: ""; display: block; position: absolute; } .btn:before { background-image: linear-gradient(hsl(var(--hue),var(--sat),90%),hsl(var(--hue),var(--sat),80%)); box-shadow: 0 0.75em 0.75em 0.25em hsla(var(--hue),0%,0%,0.3); top: 1.5em; left: 1.5em; width: 7em; height: 7em; transition: box-shadow var(--trans-dur) var(--trans-timing2), transform var(--trans-dur) var(--trans-timing2); } .btn:after { background-color: hsl(var(--hue),var(--sat),75%); background-image: linear-gradient(hsla(var(--hue),var(--sat),90%,0),hsl(var(--hue),var(--sat),90%)); box-shadow: 0 0.0625em 0 hsl(var(--hue),var(--sat),90%) inset, 0 -0.0625em 0 hsl(var(--hue),var(--sat),90%) inset, 0 0 0 0 hsla(var(--hue2),var(--sat2),var(--light2),0.1) inset; top: 3em; left: 3em; width: 4em; height: 4em; transition: background-color var(--trans-dur) var(--trans-timing), box-shadow var(--trans-dur) var(--trans-timing), transform var(--trans-dur) var(--trans-timing2); } .btn__icon { display: block; position: absolute; top: calc(50% - 0.75em); left: calc(50% - 0.75em); width: 1.5em; height: 1.5em; transition: filter var(--trans-dur) var(--trans-timing); z-index: 1; } .btn__icon g { stroke: hsl(var(--hue),var(--sat),70%); transition: stroke var(--trans-dur) var(--trans-timing); } .btn__sr { overflow: hidden; position: absolute; width: 1px; height: 1px; } .btn[aria-pressed="true"]:before, .btn[aria-pressed="true"]:after, .btn[aria-pressed="true"] .btn__icon { transform: scale(0.98); } .btn[aria-pressed="true"]:before { box-shadow: 0 0.375em 0.375em 0 hsla(var(--hue),0%,0%,0.3); transition-timing-function: var(--trans-timing3); } .btn[aria-pressed="true"]:after { background-color: hsl(var(--hue),var(--sat),90%); box-shadow: 0 0.0625em 0 hsla(var(--hue2),var(--sat2),var(--light2),0.5) inset, 0 -0.0625em 0 hsla(var(--hue2),var(--sat2),var(--light2),0.5) inset, 0 0 0.75em 0.25em hsla(var(--hue2),var(--sat2),var(--light2),0.1) inset; transition-timing-function: var(--trans-timing), var(--trans-timing), var(--trans-timing3); } .btn[aria-pressed="true"] .btn__icon { filter: drop-shadow(0 0 0.25em var(--primary)); } .btn[aria-pressed="true"] .btn__icon g { stroke: var(--primary); } /* Dark */ .col--dark { background-image: linear-gradient(hsl(var(--hue),var(--sat),20%),hsl(var(--hue),var(--sat),5%)); } .col--dark .btn { background-image: linear-gradient(hsl(var(--hue),var(--sat),10%),hsl(var(--hue),var(--sat),15%)); box-shadow: 0 0 0 0.125em hsla(var(--hue2),var(--sat2),50%,0), 0 0 0.25em hsl(var(--hue),var(--sat),5%) inset, 0 0.125em 0.125em hsl(var(--hue),var(--sat),25%); } .col--dark .btn:focus-visible { box-shadow: 0 0 0 0.125em hsla(var(--hue2),var(--sat2),50%,1), 0 0 0.25em hsl(var(--hue),var(--sat),5%) inset, 0 0.125em 0.125em hsl(var(--hue),var(--sat),25%); } .col--dark .btn:before { background-image: linear-gradient(hsl(var(--hue),var(--sat),20%),hsl(var(--hue),var(--sat),10%)); box-shadow: 0 0.75em 0.75em 0.25em hsla(var(--hue),0%,0%,0.7); } .col--dark .btn:after { background-color: hsl(var(--hue),var(--sat),10%); background-image: linear-gradient(hsla(var(--hue),var(--sat),20%,0),hsl(var(--hue),var(--sat),20%)); box-shadow: 0 0.0625em 0 hsl(var(--hue),var(--sat),25%) inset, 0 -0.0625em 0 hsl(var(--hue),var(--sat),25%) inset, 0 0 0 0 hsla(var(--hue2),var(--sat2),var(--light2),0.1) inset; } .col--dark .btn__icon g { stroke: hsl(var(--hue),var(--sat),5%); } .col--dark .btn[aria-pressed="true"]:before { box-shadow: 0 0.375em 0.375em 0 hsla(var(--hue),0%,0%,0.7); } .col--dark .btn[aria-pressed="true"]:after { background-color: hsl(var(--hue),var(--sat),20%); box-shadow: 0 0.0625em 0 hsla(var(--hue2),var(--sat2),var(--light2),0.5) inset, 0 -0.0625em 0 hsla(var(--hue2),var(--sat2),var(--light2),0.5) inset, 0 0 0.75em 0.25em hsla(var(--hue2),var(--sat2),var(--light2),0.1) inset; } /* Beyond mobile */ @media (min-width: 768px) { main { flex-direction: row; } }
JavaScript
window.addEventListener("DOMContentLoaded",() => { const b1 = new OnOffButton("#btn1"); const b2 = new OnOffButton("#btn2"); }); class OnOffButton { constructor(el) { this.el = document.querySelector(el); this.el?.addEventListener("click",this.power.bind(this)); } power() { const pressed = this.el?.getAttribute("aria-pressed") === "true"; this.el?.setAttribute("aria-pressed",`${!pressed}`); } }
粒子
时间
文字
hover
canvas
3d
游戏
音乐
火焰
水波
轮播图
鼠标跟随
动画
css
加载动画
导航
菜单
按钮
滑块
tab
弹出层
统计图
svg
×
Close
在线代码下载提示
开通在线代码永久免费下载,需支付20jQ币
开通后,在线代码模块中所有代码可终身免费下!
您已开通在线代码永久免费下载,关闭提示框后,点下载代码可直接下载!
您已经开通过在线代码永久免费下载
对不起,您的jQ币不足!可通过发布资源 或
直接充值获取jQ币
取消
开通下载
<!doctype html> <html> <head> <meta charset="utf-8"> <title>发光开/关按钮-jq22.com</title> <script src="https://www.jq22.com/jquery/jquery-1.10.2.js"></script> <style>
</style> </head> <body>
<script>
</script>
</body> </html>
2012-2021 jQuery插件库版权所有
jquery插件
|
jq22工具库
|
网页技术
|
广告合作
|
在线反馈
|
版权声明
沪ICP备13043785号-1
浙公网安备 33041102000314号