纯css+svg实现香肠狗动画效果
代码语言:html
所属分类:动画
代码描述:纯css+svg实现香肠狗动画效果
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<style>
/* Support for CSS `d` property is required. */
html, body {
height: 100%;
}
body {
align-items: center;
background-color: #d4e6ff;
display: flex;
justify-content: center;
margin: 0;
}
.sausage-dog-animation {
height: 25rem;
max-height: 80vh;
max-width: 80vw;
}
.ear,
.closed-eye,
.lean,
.front-legs,
.leg,
.head,
.tail,
.tail-blur,
.shadow {
animation-duration: 3s;
animation-iteration-count: infinite;
animation-timing-function: linear;
}
.ball,
.ball-decoration,
.ball-sound {
animation-duration: 3s;
animation-iteration-count: infinite;
animation-timing-function: ease-in-out;
}
.ball {
animation-name: squishBall;
transform: matrix(
1.0951654,
0.52195853,
-0.52866476,
1.2371611,
208.27138,
-632.28196
);
}
@keyframes squishBall {
0%,
50%,
72%,
80%,
92%,
100% {
d: path(
"m 930.80242,477.19065 c -13.05851,3.00801 -24.77881,15.97694 -26.81485,30.67673 -2.03603,14.69979 5.61282,31.12503 15.54844,43.47271 9.93563,12.34768 22.15522,20.61485 36.12779,24.29677 13.97258,3.68192 29.69644,2.77869 42.91157,-2.81649 13.21513,-5.59518 23.92113,-15.88139 30.65943,-28.14324 6.7383,-12.26185 9.5079,-26.49697 5.7369,-38.5172 -3.771,-12.02022 -14.0825,-21.82316 -25.5603,-24.46605 -11.47786,-2.6429 -24.12011,1.87601 -37.63861,0.6591 -13.5185,-1.21691 -27.91187,-8.17033 -40.97037,-5.16233 z"
);
transform: matrix(
1.0951654,
0.52195853,
-0.52866476,
1.2371611,
208.27138,
-632.28196
);
}
65%,
85% {
d: path(
"m 932.4158,479.26229 c -14.67189,0.93637 -26.39219,13.9053 -28.42823,28.60509 -2.03603,14.69979 5.61282,31.12503 15.94228,38.97676 10.32947,7.85173 23.3365,7.12856 34.39281,10.90173 11.0563,3.77318 20.16082,12.04166 33.72906,12.76579 13.56828,0.72414 31.59878,-6.09489 42.72528,-18.16177 11.1265,-12.06689 15.3474,-29.37891 10.9229,-43.93943 -4.4245,-14.56052 -17.4943,-26.36654 -28.8312,-27.22343 -11.337,-0.85689 -20.93852,9.23684 -34.54977,8.73602 -13.61125,-0.50082 -31.23124,-11.59712 -45.90313,-10.66076 z"
);
transform: matrix(
1.0951654,
0.52195853,
-0.52866476,
1.2371611,
208.27138,
-642.28196
);
}
}
.ball-decoration {
animation-name: ballDecorationAnimation;
}
@keyframes ballDecorationAnimation {
0%,
50%,
72%,
80%,
92%,
100% {
d: path(
"m 963.39546,597.71943 c 21.49913,-19.30313 4.80913,-64.80408 16.71919,-83.46282 16.19467,-25.37116 67.93925,-22.92156 89.43095,-47.68524"
);
}
65%,
85% {
d: path(
"m 978.40243,581.77452 c 21.49916,-19.30313 -15.82546,-51.20401 -3.9154,-69.86275 16.19467,-25.37116 63.71847,-19.16982 85.21017,-43.9335"
);
}
}
.ball-sound {
animation-name: ballSound;
visibility: hidden;
}
@keyframes ballSound {
0%,
60%,
70%,
80%,
90%,
100% {
visibility: hidden;
transform: translateY(0);
}
65%,
67%,
69%,
85%,
87%,
89% {
visibility: visible;
transform: translateY(-3px);
}
66%,
68%,
86%,
88% {
visibility: visible;
transform: translateY(3px);
}
}
.ear {
animation-name: moveEar;
transform-origin: top center;
transform-box: fill-box;
}
@keyframes moveEar {
0%,
12%,
21%,
31%,
35%,
100% {
transform: rotateZ(0);
}
9%,
19%,
29% {
transform: rotateZ(-5deg);
transform: rotateZ(-10deg);
}
13%,
23%,
33% {
transform: rotateZ(5deg);
transform: rotateZ(10deg);
}
}
.closed-eye {
animation-name: closeEye;
}
@keyframes closeEye {
0%,
50%,
100% {
visibility: hidden;
}
10% {
visibility: visible;
}
}
.lean {
animation-name: leanDown;
transform-origin: center;
}
@keyframes leanDown {
0%,
50%,
100% {
transform: rotateZ(0) translateY(0);
}
60%,
90% {
transform: rotateZ(10deg) translateY(5%);
}
}
.front-legs {
animation-name: flexLegs;
}
@keyframes flexLegs {
0%,
50%,
100% {
transform: translateX(0);
}
60%,
90% {
transform: translateX(12%);
}
}
.leg {
animation-name: rotateLegs;
transform-origin: bottom left;
transform-box: fill-box;
transform: translateX(16%) rotate(-10deg);
}
@keyframes rotateLegs {
0%,
50%,
100% {
transform: translateX(16%) rotate(-10deg);
}
60%,
90% {
transform: translateX(35%) rotate(-83deg);
}
}
.head {
animation-name: lookDown;
transform-origin: top right;
transform-b.........完整代码请登录后点击上方下载按钮下载查看
















网友评论0