Toggle navigation
在线编辑器
在线代码
文本比较
jQuery下载
前端库
在线手册
登录/注册
下载代码
html
css
js
分享到微信朋友圈
X
html
Like
d
Like
d
css
.button { --color: #1E2235; --color-hover: #1E2235; --color-active: #fff; --icon: #BBC1E1; --icon-hover: #8A91B4; --icon-active: #fff; --background: #fff; --background-hover: #fff; --background-active: #362A89; --border: #E1E6F9; --border-active: #362A89; --shadow: rgba(0, 17, 119, 0.025); display: block; outline: none; cursor: pointer; position: relative; border: 0; background: none; padding: 8px 20px 8px 24px; border-radius: 9px; line-height: 27px; font-family: inherit; font-weight: 600; font-size: 14px; color: var(--color); -webkit-appearance: none; -webkit-tap-highlight-color: transparent; -webkit-transition: color .2s linear; transition: color .2s linear; } .button.dark { --color: #F6F8FF; --color-hover: #F6F8FF; --color-active: #fff; --icon: #8A91B4; --icon-hover: #BBC1E1; --icon-active: #fff; --background: #1E2235; --background-hover: #171827; --background-active: #275EFE; --border: transparent; --border-active: transparent; --shadow: rgba(0, 17, 119, 0.16); } .button:hover { --icon: var(--icon-hover); --color: var(--color-hover); --background: var(--background-hover); --border-width: 2px; } .button:active { --scale: .95; } .button:not(.liked):hover { --hand-rotate: 8; --hand-thumb-1: -12deg; --hand-thumb-2: 36deg; } .button.liked { --span-x: 2px; --span-d-o: 1; --span-d-x: 0; --icon: var(--icon-active); --color: var(--color-active); --border: var(--border-active); --background: var(--background-active); } .button:before { content: ''; min-width: 103px; position: absolute; left: 0; top: 0; right: 0; bottom: 0; border-radius: inherit; -webkit-transition: background .2s linear, box-shadow .2s linear, -webkit-transform .2s; transition: background .2s linear, box-shadow .2s linear, -webkit-transform .2s; transition: background .2s linear, transform .2s, box-shadow .2s linear; transition: background .2s linear, transform .2s, box-shadow .2s linear, -webkit-transform .2s; -webkit-transform: scale(var(--scale, 1)) translateZ(0); transform: scale(var(--scale, 1)) translateZ(0); background: var(--background); box-shadow: inset 0 0 0 var(--border-width, 1px) var(--border), 0 4px 8px var(--shadow), 0 8px 20px var(--shadow); } .button .hand { width: 11px; height: 11px; border-radius: 2px 0 0 0; background: var(--icon); position: relative; margin: 10px 8px 0 0; -webkit-transform-origin: -5px -1px; transform-origin: -5px -1px; -webkit-transition: background .2s linear, -webkit-transform .25s; transition: background .2s linear, -webkit-transform .25s; transition: transform .25s, background .2s linear; transition: transform .25s, background .2s linear, -webkit-transform .25s; -webkit-transform: rotate(calc(var(--hand-rotate, 0) * 1deg)) translateZ(0); transform: rotate(calc(var(--hand-rotate, 0) * 1deg)) translateZ(0); } .button .hand:before, .button .hand:after { content: ''; background: var(--icon); position: absolute; -webkit-transition: background .2s linear, box-shadow .2s linear; transition: background .2s linear, box-shadow .2s linear; } .button .hand:before { left: -5px; bottom: 0; height: 12px; width: 4px; border-radius: 1px 1px 0 1px; } .button .hand:after { right: -3px; top: 0; width: 4px; height: 4px; border-radius: 0 2px 2px 0; background: var(--icon); box-shadow: -0.5px 4px 0 var(--icon), -1px 8px 0 var(--icon), -1.5px 12px 0 var(--icon); -webkit-transform: scaleY(0.6825); transform: scaleY(0.6825); -webkit-transform-origin: 0 0; transform-origin: 0 0; } .button .hand .thumb { background: var(--icon); width: 10px; height: 4px; border-radius: 2px; -webkit-transform-origin: 2px 2px; transform-origin: 2px 2px; position: absolute; left: 0; top: 0; -webkit-transition: background .2s linear, -webkit-transform .25s; transition: background .2s linear, -webkit-transform .25s; transition: transform .25s, background .2s linear; transition: transform .25s, background .2s linear, -webkit-transform .25s; -webkit-transform: scale(0.85) translateY(-0.5px) rotate(var(--hand-thumb-1, -45deg)) translateZ(0); transform: scale(0.85) translateY(-0.5px) rotate(var(--hand-thumb-1, -45deg)) translateZ(0); } .button .hand .thumb:before { content: ''; height: 4px; width: 7px; border-radius: 2px; -webkit-transform-origin: 2px 2px; transform-origin: 2px 2px; background: var(--icon); position: absolute; left: 7px; top: 0; -webkit-transition: background .2s linear, -webkit-transform .25s; transition: background .2s linear, -webkit-transform .25s; transition: transform .25s, background .2s linear; transition: transform .25s, background .2s linear, -webkit-transform .25s; -webkit-transform: rotate(var(--hand-thumb-2, -45deg)) translateZ(0); transform: rotate(var(--hand-thumb-2, -45deg)) translateZ(0); } .button .hand, .button span { display: inline-block; vertical-align: top; } .button .hand span, .button span span { opacity: var(--span-d-o, 0); -webkit-transition: opacity .2s linear, -webkit-transform .25s; transition: opacity .2s linear, -webkit-transform .25s; transition: transform .25s, opacity .2s linear; transition: transform .25s, opacity .2s linear, -webkit-transform .25s; -webkit-transform: translateX(var(--span-d-x, 4px)) translateZ(0); transform: translateX(var(--span-d-x, 4px)) translateZ(0); } .button > span { -webkit-transition: -webkit-transform .25s; transition: -webkit-transform .25s; transition: transform .25s; transition: transform .25s, -webkit-transform .25s; -webkit-transform: translateX(var(--span-x, 4px)) translateZ(0); transform: translateX(var(--span-x, 4px)) translateZ(0); } html { box-sizing: border-box; -webkit-font-smoothing: antialiased; } * { box-sizing: inherit; } *:before, *:after { box-sizing: inherit; } body { min-height: 100vh; display: -webkit-box; display: flex; font-family: 'Inter', Arial; -webkit-box-pack: center; justify-content: center; -webkit-box-align: center; align-items: center; background: #F6F8FF; } body .button { margin: 0 12px; }
JavaScript
document.querySelectorAll('.button').forEach(button => { button.addEventListener('click', e => { button.classList.toggle('liked'); if(button.classList.contains('liked')) { gsap.fromTo(button, { '--hand-rotate': 8 }, { ease: 'none', keyframes: [{ '--hand-rotate': -45, duration: .16, ease: 'none' }, { '--hand-rotate': 15, duration: .12, ease: 'none' }, { '--hand-rotate': 0, duration: .2, ease: 'none', clearProps: true }] }); } }) });
粒子
时间
文字
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号