svg火柴人做出十种不同姿势动作动画效果代码

代码语言:html

所属分类:动画

代码描述:svg火柴人做出十种不同姿势动作动画效果代码

代码标签: svg 火柴 做出 十种 不同 姿势 动作 动画

下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开

<!DOCTYPE html>
<html lang="en" >

<head>
  <meta charset="UTF-8">
  
  
<style>
:root {
	--easing: ease-in;
	--bar-duration: 1s;
	--line-width: 10px;
}

body {
	height: 100vh;
	font-family: sans-serif;
	display: flex;
	justify-content: center;
	align-items: center;
	overflow: hidden;
}

.podium {
	display: flex;
	justify-content: space-around;
	align-items: center;
	width: 100%;
	height: 100%;
}

line {
	stroke-width: var(--line-width);
	stroke: black;
	stroke-linecap: round;
}

.upper-body {
	animation: twist var(--bar-duration) var(--easing) infinite;
}

.leg {
	animation: bend var(--bar-duration) var(--easing) infinite;
}

.arm {
	animation: twist var(--bar-duration) var(--easing) alternate infinite;
}

.head {
	animation: bend var(--bar-duration) var(--easing) infinite;
}

@keyframes twist {
	33% {
		transform: rotate(30deg);
	}
	66% {
		transform: rotate(-30deg);
	}
}

@keyframes bend {
	40% {
		transform: rotate(5deg);
	}
	60% {
		transform: rotate(-5deg);
	}
}
</style>

  
  
</head>

<body translate="no">
  <div class="podium" style="--dancers-count: 10;">
  <svg viewBox="0 0 200 400" xmlns="http://www.w3.org/2000/svg">
    <g class="upper-body" transform-origin="100px 150px" style="animation-delay: 0s;">
      <circle class="head" cx="100" cy="65" r="15"></circle>
      <line class="body" x1="100" y1="70" x2="100" y2="150"></line>
      <g class="left-arm arm" transform-origin="100px 90px" style="animation-delay: 0s;">
        <line class="left-upper-arm" x1="100" y1="90" x2="60" y2="120"></line>
        <line class="left-lower-arm" x1="60" y1="120" x2="40" y2="170"></line>
        <!-- check what happens when you remove x2 and y2 above-->
      </g>
      <g class="right-arm arm" transform-origin="100px 90px" style="animation-delay: 0s;">
        <line class="right-upper-arm" x1="100" y1="90" x2="140" y2="120"></line>
        <line class="right-lower-arm" x1="140" y1="120" x2="160" y2="170"></line>
      </g>
    </g>
    <g class="left-leg leg" transform-origin="75px 210px">
      <line class="left-upper-leg" x1="100" y1="150" x2="80" y2="210"></line>
      <line class="left-lower-leg lower-leg" x1="80" y1="210" x2="75" y2="270"></line>
      <line class="left-foot" x1="75" y1="270" x2="55" y2="270"></line>
    </g>
    <g class="right-leg leg" transform-origin="125px 210px">
      <line class="right-upper-leg" x1="100" y1="150" x2="120" y2="210"></line>
      <line class="right-lower-leg lower-leg" x1="120" y1="210" x2="125" y2="270"></line>
      <line class="right-foot" x1="125" y1="270" x2="145" y2="270"></line>
    </g>
  </svg>
  <svg viewBox="0 0 200 400" xmlns="http://www.w3.org/2000/svg">
    <g class="upper-body" transform-origin="100px 150px" style="animation-delay: 0.2s;">
      <circle class="head" cx="100" cy="65" r="15"></circle>
      <line class="body" x1="100" y1="70" x2="100" y2="150"></line>
      <g class="left-arm arm" transform-origin="100px 90px" style="animation-delay: 0.2s;">
        <line class="left-upper-arm" x1=&qu.........完整代码请登录后点击上方下载按钮下载查看

网友评论0