svg实现一个牛年牛首动画效果代码
代码语言:html
所属分类:动画
代码描述:svg实现一个牛年牛首动画效果代码
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html>
<html lang="en" >
<head>
<meta charset="UTF-8">
<style>
body, html {
height: 100%;
margin: 0;
}
svg {
max-height: 100%;
}
#all-zodiac{
transform-origin: 1000px 1000px;
animation-name: zodiac-rotate;
animation-timing-function: ease-in-out;
animation-duration: 10s;
animation-iteration-count: infinite;
}
#ox_1_{
transform-origin: 1000.2619px 257.5px;
animation-name: zodiac-counter-rotate-ox;
animation-timing-function: ease-in-out;
animation-duration: 10s;
animation-iteration-count: infinite;
}
#tiger{
transform-origin: 1371.5119px 357.5px;
animation-name: zodiac-counter-rotate;
animation-timing-function: ease-in-out;
animation-duration: 10s;
animation-iteration-count: infinite;
}
#rabbit{
transform-origin: 1643.2858px 628.75px;
animation-name: zodiac-counter-rotate;
animation-timing-function: ease-in-out;
animation-duration: 10s;
animation-iteration-count: infinite;
}
#dragon{
transform-origin: 1742.7619px 1000px;
animation-name: zodiac-counter-rotate;
animation-timing-function: ease-in-out;
animation-duration: 10s;
animation-iteration-count: infinite;
}
#snake{
transform-origin: 1643.2858px 1371.25px;
animation-name: zodiac-counter-rotate;
animation-timing-function: ease-in-out;
animation-duration: 10s;
animation-iteration-count: infinite;
}
#horse{
transform-origin: 1371.5119px 1643.0239px;
animation-name: zodiac-counter-rotate;
animation-timing-function: ease-in-out;
animation-duration: 10s;
animation-iteration-count: infinite;
}
#goat{
transform-origin: 1000.2619px 1742.5px;
animation-name: zodiac-counter-rotate;
animation-timing-function: ease-in-out;
animation-duration: 10s;
animation-iteration-count: infinite;
}
#monkey{
transform-origin: 629.0119px 1642.5px;
animation-name: zodiac-counter-rotate;
animation-timing-function: ease-in-out;
animation-duration: 10s;
animation-iteration-count: infinite;
}
#rooster{
transform-origin: 357.2381px 1371.25px;
animation-name: zodiac-counter-rotate;
animation-timing-function: ease-in-out;
animation-duration: 10s;
animation-iteration-count: infinite;
}
#dog{
transform-origin: 257.2381px 1000px;
animation-name: zodiac-counter-rotate;
animation-timing-function: ease-in-out;
animation-duration: 10s;
animation-iteration-count: infinite;
}
#pig{
transform-origin: 357.2381px 628.75px;
animation-name: zodiac-counter-rotate;
animation-timing-function: ease-in-out;
animation-duration: 10s;
animation-iteration-count: infinite;
}
#rat{
transform-origin: 629.0119px 356.9761px;
animation-name: zodiac-counter-rotate;
animation-timing-function: ease-in-out;
animation-duration: 10s;
animation-iteration-count: infinite;
}
#body-group{
transform-origin: 1007.65px 1200.679px;
animation-name: body-fade;
animation-timing-function: linear;
animation-duration: 5s;
animation-iteration-count: infinite;
animation-direction: alternate;
}
#face-group{
transform-origin: 1009.22px 945.729px;
animation-name: face-fade;
animation-timing-function: linear;
animation-duration: 5s;
animation-iteration-count: infinite;
animation-direction: alternate;
}
#hair01{
transform-origin: 999.344px 626.41px;
animation-name: hair-fade;
animation-timing-function: linear;
animation-duration: 5s;
animation-iteration-count: infinite;
animation-direction: alternate;
}
#right-eye-group{
transform-origin: 1141.889px 835.781px;
animation-name: right-eye-fade;
animation-timing-function: linear;
animation-duration: 5s;
animation-iteration-count: infinite;
animation-direction: alternate;
}
#left-eye-group{
transform-origin: 865.582px 850.9px;
animation-name: left-eye-fade;
animation-timing-function: linear;
animation-duration: 5s;
animation-iteration-count: infinite;
animation-direction: alternate;
}
#top-muzzle{
transform-origin: 1104.094px 964.129px;
animation-name: top-muzzle-fade;
animation-timing-function: linear;
animation-duration: 5s;
animation-iteration-count: infinite;
animation-direction: alternate;
}
#bottom-muzzle{
transform-origin: 1003.94px 1124.76px;
animation-name: bottom-muzzle-fade;
animation-timing-function: linear;
animation-duration: 5s;
animation-iteration-count: infinite;
animation-direction: alternate;
}
#right-ear-group{
transform-origin: 1340.01px 716.84px;
animation-name: right-ear-fade;
animation-timing-function: linear;
animation-duration: 5s;
animation-iteration-count: infinite;
animation-direction: alternate;
}
#left-ear-group{
transform-origin: 671.28px 737.52px;
animation-name: left-ear-fade;
animation-timing-function: linear;
animation-duration: 5s;
animation-iteration-count: infinite;
animation-direction: alternate;
}
#right-horn-group{
transform-origin: 1241.365px 589.3926px;
animation-name: right-horn-fade;
animation-timing-function: linear;
animation-duration: 5s;
animation-iteration-count: infinite;
animation-direction: alternate;
}
#left-horn-group{
transform-origin: 772.2922px 589.3914px;
animation-name: left-horn-fade;
animation-timing-function: linear;
animation-duration: 5s;
animation-iteration-count: infinite;
animation-direction: alternate;
}
#hair-group{
transform-origin: 1007.618px 683.888px;
animation-name: hair-details-fade;
animation-timing-function: linear;
animation-duration: 5s;
animation-iteration-count: infinite;
animation-direction: alternate;
}
#eye-blink{
transform-origin: 1168.178px 736px;
animation-name: blink;
animation-timing-function: linear;
animation-duration: 5s;
animation-iteration-count: infinite;
animation-direction: alternate;
}
@keyframes zodiac-rotate{
0%{
transform: rotate(0deg);
}
5%{
transform: rotate(0deg);
}
40%{
transform: rotate(360deg);
}
50%{
transform: rotate(360deg);
}
100%{
transform: rotate(360deg);
}
}
@keyframes zodiac-counter-rotate-ox{
0%{
transform: rotate(0deg);
}
5%{
transform: rotate(0deg);
}
40%{
transform: rotate(-360deg);
}
50%{
transform: rotate(-360deg);
}
100%{
transform: rotate(-360deg);
}
}
@keyframes zodiac-counter-rotate{
0%{
transform: rotate(0deg);
opacity: 1;
}
5%{
transform: rotate(0deg);
opacity: 1;
}
40%{
transform: rotate(-360deg);
opacity: 0;
}
50%{
transform: rotate(-360deg);
opacity: 0;
}
100%{
transform: rotate(-360deg);
opacity: 1;
}
}
@keyframes body-fade{
0%{
opacity: 0;
transform: scale(0.9);
}
5%{
opacity: 0;
transform: scale(0.9);
}
12.5%{
opacity: 1;
transform: scale(1);
}
100%{
opacity: 1;
transform: scale(1);
}
}
@keyframes face-fade{
0%{
opacity: 0;
transform: scale(0.9);
}
5%{
opacity: 0;
transform: scale(0.9);
}
20%{
opacity: 1;
transform: scale(1);
}
100%{
opacity: 1;
transform: scale(1);
}
}
@keyframes hair-fade{
0%{
opacity: 0;
transform: scale(0.9);
}
5%{
opacity: 0;
transform: scale(0.9);
}
27.5%{
opacity: 0.25;
transform: scale(1);
}
100%{
opacity: 0.25;
transform: scale(1);
}
}
@keyframes right-eye-fade{
0%{
opacity: 0;
transform: scale(0.9);
}
5%{
opacity: 0;
transform: scale(0.9);
}
35%{
opacity: 1;
transform: scale(1);
}
100%{
opacity: 1;
transform: scale(1);
}
}
@keyframes left-eye-fade{
0%{
opacity: 0;
transform: scale(0.9);
}
5%{
opacity: 0;
transform: scale(0.9);
}
42.5%{
opacity: 1;
transform: scale(1);
}
100%{
opacity: 1;
transform: scale(1);
}
}
@keyframes top-muzzle-fade{
0%{
opacity: 0;
transform: scale(0.9);
}
5%{
opacity: 0;
transform: scale(0.9);
}
50%{
opacity: 1;
transform: scale(1);
}
100%{
opacity: 1;
transform: scale(1);
}
}
@keyframes bottom-muzzle-fade{
0%{
opacity: 0;
transform: scale(0.9);
}
5%{
opacity: 0;
transform: scale(0.9);
}
57.5%{
opacity: 1;
transform: scale(1);
}
100%{
opacity: 1;
transform: scale(1);
}
}
@keyframes right-ear-fade{
0%{
opacity: 0;
transform: scale(0.9);
}
15%{
opacity: 0;
transform: scale(0.9);
}
65%{
opacity: 1;
transform: scale(1);
}
100%{
opacity: 1;
transform: scale(1);
}
}
@keyframes left-ear-fade{
0%{
opacity: 0;
transform: scale(0.9);
}
15%{
opacity: 0;
transform: scale(0.9);
}
72.5%{
opacity: 1;
transform: scale(1);
}
100%{
opacity: 1;
transform: scale(1);
}
}
@keyframes right-horn-fade{
0%{
opacity: 0;
transform: scale(0.85);
}
50%{
opacity: 0;
transform: scale(0.85);
}
80%{
opacity: 1;
transform: scale(1);
}
100%{
opacity: 1;
transform: scale(1);
}
}
@keyframes left-horn-fade{
0%{
opacity: 0;
transform: scale(0.85);
}
50%{
opacity: 0;
transform: scale(0.85);
}
80%{
opacity: 1;
transform: scale(1);
}
100%{
opacity: 1;
transform: scale(1);
}
}
@keyframes hair-details-fade{
0%{
opacity: 0;
transform: scale(0.9);
}
5%{
opacity: 0;
transform: scale(0.9);
}
95%{
opacity: 1;
transform: scale(1);
}
100%{
opacity: 1;
transform: scale(1);
}
}
@keyframes blink{
0%{
opacity: 0;
transform: scaley(0);
}
5%{
opacity: 0;
transform: scaley(0);
}
95%{
opacity: 0.75;
transform: scaley(0);
}
97%{
opacity: 1;
transform: scaley(1);
}
98%{
opacity: 1;
transform: scaley(1);
}
99%{
opacity: 0.75;
transform: scaley(0);
}
100%{
opacity: 1;
transform: scaley(0);
}
}
</style>
</head>
<body>
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 25.2.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 2000 2000" style="enable-background:new 0 0 2000 2000;" xml:space="preserve">
<style type="text/css">
.st0{fill:none;}
.st1{fill:none;stroke:#FA372D;stroke-width:3.6;}
.st2{display:none;}
.st3{display:inline;}
.st4{fill:none;stroke:#03E2FF;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
.st5{fill:none;stroke:#03E2FF;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
.st6{opacity:0.25;fill:#FF9100;}
.st7{opacity:0.1;fill:url(#body02_2_);}
.st8{opacity:0.15;fill:#FF9100;}
.st9{opacity:0.5;fill:#FF9100;}
.st10{fill:#FF9100;}
.st11{opacity:0.5;fill:#FA372D;}
.st12{opacity:0.5;fill:#540223;}
.st13{opacity:0.502;fill:#03E2FF;}
.st14{opacity:0.502;fill:#540223;}
.st15{opacity:0.502;fill:#FA372D;}
.st16{opacity:0.25;fill:#FA372D;}
.st17{opacity:0.75;fill:#540223;}
.st18{opacity:0.251;fill:#FA372D;}
.st19{opacity:0.749;fill:#540223;}
.st20{fill:#03E2FF;}
.st21{opacity:0.5;fill:#FFFFFF;}
.st22{opacity:0.1;fill:url(#hair01_2_);}
</style>
<pattern width="72" height="72" patternUnits="userSpaceOnUse" id="_x36__lpi_30_x25_" viewBox="72.25 -72 72 72" style="overflow:visible;">
<g>
<rect x="72.25" y="-72" class="st0" width="72" height="72"/>
<g>
<line class="st1" x1="144" y1="-6" x2="216.5" y2="-6"/>
<line class="st1" x1="144" y1="-30" x2="216.5" y2="-30"/>
<line class="st1" x1="144" y1="-54" x2="216.5" y2="-54"/>
<line class="st1" x1="144" y1="-18" x2="216.5" y2="-18"/>
<line class="st1" x1="144" y1="-42" x2="216.5" y2="-42"/>
<line class="st1" x1="144" y1="-66" x2="216.5" y2="-66"/>
</g>
<g>
<line class="st1" x1="72" y1="-6" x2="144.5" y2="-6"/>
<line class="st1" x1="72" y1="-30" x2="144.5" y2="-30"/>
<line class="st1" x1="72" y1="-54" x2="144.5" y2="-54"/>
<line class="st1" x1="72" y1="-18" x2="144.5" y2="-18"/>
<line class="st1" x1="72" y1="-42" x2="144.5" y2="-42"/>
<line class="st1" x1="72" y1="-66" x2="144.5" y2="-66"/>
</g>
<g>
<line class="st1" x1="0" y1="-6" x2="72.5" y2="-6"/>
<line class="st1" x1="0" y1="-30" x2="72.5" y2="-30"/>
<line class="st1" x1="0" y1="-54" x2="72.5" y2="-54"/>
<line class="st1" x1="0" y1="-18" x2="72.5" y2="-18"/>
<line class="st1" x1="0" y1="-42" x2="72.5" y2="-42"/>
<line class="st1" x1="0" y1="-66" x2="72.5" y2="-66"/>
</g>
</g>
</pattern>
<g id="zodiac">
<g id="all-zodiac">
<g class="st2">
<g class="st3">
<circle class="st4" cx="1000.262" cy="1000" r="742.5"/>
</g>
<g class="st3">
<line class="st4" x1="1000.262" y1="1000" x2="1000.262" y2="1742.5"/>
<line class="st4" x1="1000.262" y1="1000" x2="1371.512" y2="1643.024"/>
<line class="st4" x1="1000.262" y1="1000" x2="1643.286" y2="1371.25"/>
<line class="st4" x1="1000.262" y1="1000" x2="1742.762" y2="1000"/>
<line class="st4" x1="1000.262" y1="1000" x2="1643.286" y2="628.75"/>
<line class="st4" x1="1000.262" y1="1000" x2="1371.512" y2="356.976"/>
<line class="st4" x1="1000.262" y1="1000" x2="1000.262" y2="257.5"/>
<line class="st4" x1="1000.262" y1="1000" x2="629.012" y2="356.976"/>
<line class="st4" x1="1000.262" y1="1000" x2="357.238" y2="628.75"/>
<line class="st4" x1="1000.262" y1="1000" x2="257.762" y2="1000"/>
<line class="st4" x1="1000.262" y1="1000" x2="357.238" y2="1371.25"/>
<line class="st4" x1="1000.262" y1="1000" x2="629.012" y2="1643.024"/>
</g>
</g>
<g id="ox_1_">
<circle class="st0" cx="1000.262" cy="257.5" r="100"/>
<g>
<path class="st5" d="M1010.78,225.162h-21.035c-14.633,0-28.125,7.906-35.277,20.672v0c-7.094,12.663-6.857,28.158,0.622,40.598
l16.071,26.731c13.194,21.947,45.008,21.947,58.203,0l16.071-26.731c7.479-12.44,7.716-27.934,0.622-40.598v0
C1038.904,233.068,1025.413,225.162,1010.78,225.162z"/>
<path class="st5" d="M989.744,225.162c-32.649,0-47.613,28.778-71.211,28.778c0,0,14.715,23.453,32.538,23.453"/>
<path class="st5" d="M989.744,225.162c-38.117,0-78.693-3.166-89.457-39.786c0,0-3.05,49.743,57.373,49.743"/>
<path class="st5" d="M973.133,269.446c0.762-0.822,1.229-1.922,1.229-3.131c0-2.543-2.061-4.604-4.604-4.604
s-4.604,2.061-4.604,4.604s2.061,4.604,4.604,4.604C971.091,270.919,972.293,270.352,973.133,269.446"/>
<path class="st5" d="M963.702,300.837c0,0,20.824-20.824,20.825-20.823c3.336-3.595,5.375-8.409,5.375-13.699
c0-11.125-9.019-20.144-20.144-20.144c-11.125,0-20.144,9.019-20.144,20.144"/>
<path class="st5" d="M918.533,253.94c0,0,6.561,10.428,31.991,1.816"/>
<path class="st5" d="M1010.78,225.162c32.649,0,47.613,28.778,71.211,28.778c0,0-14.714,23.453-32.538,23.453"/>
<path class="st5" d="M1010.78,225.162c38.117,0,78.693-3.166,89.457-39.786c0,0,3.05,49.743-57.374,49.743"/>
<path class="st5" d="M1027.391,269.446c-0.762-0.822-1.229-1.922-1.229-3.131c0-2.543,2.061-4.604,4.604-4.604
s4.604,2.061,4.604,4.604s-2.062,4.604-4.604,4.604C1029.433,270.919,1028.231,270.352,1027.391,269.446"/>
<path class="st5" d="M1036.822,300.837c0,0-20.824-20.824-20.825-20.823c-3.336-3.595-5.375-8.409-5.375-13.699
c0-11.125,9.019-20.144,20.144-20.144c11.125,0,20.144,9.019,20.144,20.144"/>
<path class="st5" d="M1081.991,253.94c0,0-6.561,10.428-31.991,1.816"/>
<path class="st5" d="M986.579,277.393h27.365l-4.117,3.507c-5.512,4.696-13.618,4.696-19.131,0L986.579,277.393z"/>
<path class="st5" d="M979.83,322.841l6.843-7.37c7.32-7.883,19.81-7.839,27.074,0.096l6.659,7.274"/>
</g>
</g>
<g id="tiger">
<circle class="st0" cx="1371.512" cy="357.5" r="100"/>
<g>
<path class="st5" d="M1436.574,371.956c0,27.58-29.129,35.482-65.062,35.482c-35.933,0-65.062-7.902-65.062-35.482
c0-27.58,29.129-64.393,65.062-64.393C1407.444,307.562,1436.574,344.376,1436.574,371.956z"/>
<path class="st5" d="M1360.448,364.438h22.128l-3.329,3.201c-4.457,4.286-11.012,4.286-15.47,0L1360.448,364.438z"/>
<path class="st5" d="M1382.576,364.438l14.838,14.883c2.521,2.529,2.953,6.794,1.001,9.899l-5.792,9.215
c-2.427,3.862-7.385,4.23-10.239,0.76v0c-2.937-3.57-6.903-5.359-10.872-5.371c-3.969,0.011-7.935,1.8-10.872,5.371v0
c-2.854,3.47-7.812,3.102-10.239-0.76l-5.792-9.215c-1.952-3.105-1.52-7.37,1.001-9.899l14.838-14.883"/>
<line class="st5" x1="1371.512" y1="307.562" x2="1371.512" y2="345.852"/>
<line class="st5" x1="1360.448" y1="336.005" x2="1382.576" y2="336.005"/>
<line class="st5" x1="1354.504" y1="325.501" x2="1388.52" y2="325.501"/>
<line class="st5" x1="1345.943" y1="314.996" x2="1397.08" y2="314.996"/>
<path class="st5" d="M1371.512,405.202"/>
<g>
<path class="st5" d="M1341.753,313.718c-8.207-8.207-21.514-8.207-29.721,0c-8.207,8.207-8.207,21.514,0,29.721"/>
<path class="st5" d="M1333.708,321.763c-3.764-3.764-9.866-3.764-13.63,0c-3.764,3.764-3.764,9.866,0,13.63"/>
<path class="st5" d="M1401.271,313.718c8.207-8.207,21.514-8.207,29.721,0c8.207,8.207,8.207,21.514,0,29.721"/>
<path class="st5" d="M1409.316,321.763c3.764-3.764,9.866-3.764,13.63,0c3.764,3.764,3.764,9.866,0,13.63"/>
</g>
<g>
<path class="st5" d="M1347.596,353.32c0.762-0.822,1.229-1.922,1.229-3.131c0-2.543-2.062-4.604-4.604-4.604
s-4.604,2.061-4.604,4.604s2.061,4.604,4.604,4.604C1345.554,354.793,1346.755,354.226,1347.596,353.32"/>
<path class="st5" d="M1395.428,353.32c-0.762-0.822-1.229-1.922-1.229-3.131c0-2.543,2.062-4.604,4.604-4.604
c2.543,0,4.604,2.061,4.604,4.604s-2.062,4.604-4.604,4.604C1397.47,354.793,1396.269,354.226,1395.428,353.32"/>
</g>
<g>
<polyline class="st5" poin.........完整代码请登录后点击上方下载按钮下载查看
















网友评论0