js实现可爱变色爱心抖动动画效果代码
代码语言:html
所属分类:动画
代码描述:js实现可爱变色爱心抖动动画效果代码
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html>
<html lang="en" >
<head>
<meta charset="UTF-8">
<style>
:root {
--heart-size: 250px;
--eye-size: calc(var(--heart-size) * 0.2);
--pupil-base-size: calc(var(--eye-size) * 0.4);
--pupil-dilation-factor: 1;
--current-pupil-size: calc(var(--pupil-base-size) * var(--pupil-dilation-factor));
--mouse-x: 0px;
--mouse-y: 0px;
--heart-center-x: 0px;
--heart-center-y: 0px;
--mouse-proximity-to-heart: 0;
--heart-base-color: #ff4757;
--heart-highlight: #ff6b81;
--heart-shadow: #ff1f35;
--eye-color: #fff;
--pupil-color: #2c3e50;
--glow-color: #ff69b4;
--bg-color: #f8e9f2;
}
body {
background: radial-gradient(circle, var(--bg-color), #e8d0e0);
display: flex;
align-items: center;
justify-content: center;
min-height: 100vh;
margin: 0;
overflow: hidden;
font-family: 'Arial', sans-serif;
transition: background 0.5s ease;
}
.scene {
position: relative;
width: 100vw;
height: 100vh;
perspective: 800px;
}
.heart-container {
position: absolute;
top: 50%;
left: 50%;
width: var(--heart-size);
height: var(--heart-size);
transform-style: preserve-3d;
transform: translate(-50%, -50%) rotateY(0deg);
--heartbeat-scale-factor: calc(1 + 0.08 * var(--mouse-proximity-to-heart));
animation: heartbeat 1.5s infinite cubic-bezier(0.215, 0.61, 0.355, 1);
filter: drop-shadow(0 0 calc(20px * var(--mouse-proximity-to-heart)) var(--glow-color));
transition: filter 0.3s ease-out, transform 0.5s ease;
will-change: transform;
}
@keyframes heartbeat {
0%, 100% {
transform: translate(-50%, -50%) scale(var(--heartbeat-scale-factor));
}
10% {
transform: translate(-50%, -50%) scale(calc(var(--heartbeat-scale-factor) * 0.98)).........完整代码请登录后点击上方下载按钮下载查看
















网友评论0