Toggle navigation
在线编辑器
在线代码
文本比较
jQuery下载
前端库
在线手册
登录/注册
下载代码
html
css
js
分享到微信朋友圈
X
html
cool
Glowing shadows
css
@charset "UTF-8"; @property --hue { syntax: "
"; inherits: true; initial-value: 0; } @property --rotate { syntax: "
"; inherits: true; initial-value: 0; } @property --bg-y { syntax: "
"; inherits: true; initial-value: 0; } @property --bg-x { syntax: "
"; inherits: true; initial-value: 0; } @property --glow-translate-y { syntax: "
"; inherits: true; initial-value: 0; } @property --bg-size { syntax: "
"; inherits: true; initial-value: 0; } @property --glow-opacity { syntax: "
"; inherits: true; initial-value: 0; } @property --glow-blur { syntax: "
"; inherits: true; initial-value: 0; } @property --glow-scale { syntax: "
"; inherits: true; initial-value: 2; } @property --glow-radius { syntax: "
"; inherits: true; initial-value: 2; } @property --white-shadow { syntax: "
"; inherits: true; initial-value: 0; } :root { --debug: 0; --supported: 0; --not-supported: 0; --card-color: hsl(260deg 100% 3%); --text-color: hsl(260deg 10% 55%); --card-radius: 3.6vw; --card-width: 35vw; --border-width: 3px; --bg-size: 1; --hue: 0; --hue-speed: 1; --rotate: 0; --animation-speed: 4s; --interaction-speed: 0.55s; --glow-scale: 1.5; --scale-factor: 1; --glow-blur: 6; --glow-opacity: 1; --glow-radius: 100; --glow-rotate-unit: 1deg; } body::before, body::after { content: "CSS.registerProperty is supported ?"; position: absolute; display: block; top: 8px; left: 0; right: 0; margin: auto; width: calc(100% - 160px); max-width: 380px; height: auto; padding: 8px; border-radius: 8px; background: #48b93c; color: white; text-align: center; font-family: sans-serif; z-index: var(--supported, 0); opacity: var(--supported, 0); } body::after { content: "CSS.registerProperty is NOT supported ?"; background: #b93c3c; z-index: var(--not-supported, 0); opacity: var(--not-supported, 0); } body::before, body::after { display: none !important; } html, body { height: 100%; width: 100%; padding: 0; margin: 0; } *, *:before, *:after { outline: calc(var(--debug) * 1px) red dashed; } body { background-color: var(--card-color); display: flex; align-items: center; justify-content: center; font-family: "Mona Sans", sans-serif; } body > div { width: var(--card-width); width: min(480px, var(--card-width)); aspect-ratio: 1.5/1; color: white; margin: auto; display: flex; align-items: center; justify-content: center; position: relative; z-index: 2; border-radius: var(--card-radius); cursor: pointer; } body > div:hover > div { mix-blend-mode: darken; --text-color: white; box-shadow: 0 0 calc(var(--white-shadow) * 1vw) calc(var(--white-shadow) * 0.15vw) rgba(255, 255, 255, 0.2); animation: shadow-pulse calc(var(--animation-speed) * 2) linear infinite; } body > div:hover > div:before { --bg-size: 15; animation-play-state: paused; transition: --bg-size var(--interaction-speed) ease; } body > div:hover .glow { --glow-blur: 1.5; --glow-opacity: 0.6; --glow-scale: 2.5; --glow-radius: 0; --rotate: 900; --glow-rotate-unit: 0; --scale-factor: 1.25; animation-play-state: paused; } body > div:hover .glow:after { --glow-translate-y: 0; animation-play-state: paused; transition: --glow-translate-y 0s ease, --glow-blur 0.05s ease, --glow-opacity 0.05s ease, --glow-scale 0.05s ease, --glow-radius 0.05s ease; } body > div:before, body > div:after { content: ""; display: block; position: absolute; width: 100%; height: 100%; border-radius: var(--card-radius); } body > div > div { position: absolute; width: 100%; height: 100%; background: var(--card-color); border-radius: calc(calc(var(--card-radius) * 0.9)); display: flex; align-items: center; justify-content: center; font-weight: 800; text-transform: uppercase; font-stretch: 150%; font-size: 18px; font-size: clamp(1.5vw, 1.5vmin, 32px); color: var(--text-color); padding: calc(var(--card-width) / 8); } body > div > div span { display: inline-block; padding: 0.25em; border-radius: 4px; background: var(--text-color); color: black; margin-right: 8px; font-weight: 900; } body > div > div:before { content: ""; display: block; position: absolute; width: 100%; height: 100%; border-radius: calc(calc(var(--card-radius) * 0.9)); box-shadow: 0 0 20px black; mix-blend-mode: color-burn; z-index: -1; background: #292929 radial-gradient(30% 30% at calc(var(--bg-x) * 1%) calc(var(--bg-y) * 1%), hsl(calc(calc(var(--hue) * var(--hue-speed)) * 1deg), 100%, 90%) calc(0% * var(--bg-size)), hsl(calc(calc(var(--hue) * var(--hue-speed)) * 1deg), 100%, 80%) calc(20% * var(--bg-size)), hsl(calc(calc(var(--hue) * var(--hue-speed)) * 1deg), 100%, 60%) calc(40% * var(--bg-size)), transparent 100%); width: calc(100% + var(--border-width)); height: calc(100% + var(--border-width)); animation: hue-animation var(--animation-speed) linear infinite, rotate-bg var(--animation-speed) linear infinite; transition: --bg-size var(--interaction-speed) ease; } body > div .glow { --glow-translate-y: 0; display: block; position: absolute; width: calc(var(--card-width) / 5); height: calc(var(--card-width) / 5); animation: rotate var(--animation-speed) linear infinite; transform: rotateZ(calc(var(--rotate) * var(--glow-rotate-unit))); transform-origin: center; border-radius: calc(var(--glow-radius) * 10vw); } body > div .glow:after { content: ""; display: block; z-index: -2; filter: blur(calc(var(--glow-blur) * 10px)); width: 130%; height: 130%; left: -15%; top: -15%; background: hsl(calc(calc(var(--hue) * var(--hue-speed)) * 1deg), 100%, 60%); position: relative; border-radius: calc(var(--glow-radius) * 10vw); animation: hue-animation var(--animation-speed) linear infinite; transform: scaleY(calc(var(--glow-scale) * var(--scale-factor) / 1.1)) scaleX(calc(var(--glow-scale) * var(--scale-factor) * 1.2)) translateY(calc(var(--glow-translate-y) * 1%)); opacity: var(--glow-opacity); } @keyframes shadow-pulse { 0%, 24%, 46%, 73%, 96% { --white-shadow: 0.5; } 12%, 28%, 41%, 63%, 75%, 82%, 98% { --white-shadow: 2.5; } 6%, 32%, 57% { --white-shadow: 1.3; } 18%, 52%, 88% { --white-shadow: 3.5; } } @keyframes rotate-bg { 0% { --bg-x: 0; --bg-y: 0; } 25% { --bg-x: 100; --bg-y: 0; } 50% { --bg-x: 100; --bg-y: 100; } 75% { --bg-x: 0; --bg-y: 100; } 100% { --bg-x: 0; --bg-y: 0; } } @keyframes rotate { from { --rotate: -70; --glow-translate-y: -65; } 25% { --glow-translate-y: -65; } 50% { --glow-translate-y: -65; } 60%, 75% { --glow-translate-y: -65; } 85% { --glow-translate-y: -65; } to { --rotate: calc(360 - 70); --glow-translate-y: -65; } } @keyframes hue-animation { 0% { --hue: 0; } 100% { --hue: 360; } }
JavaScript
粒子
时间
文字
hover
canvas
3d
游戏
音乐
火焰
水波
轮播图
鼠标跟随
动画
css
加载动画
导航
菜单
按钮
滑块
tab
弹出层
统计图
svg
×
Close
在线代码下载提示
开通在线代码永久免费下载,需支付20jQ币
开通后,在线代码模块中所有代码可终身免费下!
您已开通在线代码永久免费下载,关闭提示框后,点下载代码可直接下载!
您已经开通过在线代码永久免费下载
对不起,您的jQ币不足!可通过发布资源 或
直接充值获取jQ币
取消
开通下载
<!doctype html> <html> <head> <meta charset="utf-8"> <title>CSS卡片边框动画-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号