Beispiel:SVG-Rube-Goldberg-5.html

Aus SELFHTML-Wiki
Wechseln zu: Navigation, Suche
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Kugelstoßpendel</title>
<style>
  line {
    stroke-width: 2px;
    stroke: steelBlue;
  }
  circle {
    fill: steelBlue;
    stroke: black;
  }
  .left{
    transform-origin: 120px 5px;
    animation: leftSwing 4s infinite;
  }
  .right{
    transform-origin: 280px 5px;
    animation: rightSwing 4s infinite;
  }
  @keyframes leftSwing{
    0%  {
      transform: rotate(0deg);
      animation-timing-function: ease-out;
    }
    25% {
      transform: rotate(30deg);
      animation-timing-function: ease-in;
    }
    50%, 
    100% {
      transform: rotate(0deg);
    }
  }
  @keyframes rightSwing{
    0%, 
    100%  {
      transform: rotate(0deg);
    }
    50% {
      transform: rotate(0deg);
      animation-timing-function: ease-out;
    }
    75% {
      transform: rotate(-30deg);
      animation-timing-function: ease-in;
    }
  }
</style>
</head>
<body>
<svg viewBox="0 0 400 180">
  <g class="left">
    <line x1="120" y1="5" x2="120" y2="140"/>
    <circle cx="120" cy="155" r="20"/>
  </g>
  <line x1="160" y1="5" x2="160" y2="140"/>
  <circle cx="160" cy="155" r="20"/>
  <line x1="200" y1="5" x2="200" y2="140"/>
  <circle cx="200" cy="155" r="20"/>
  <line x1="240" y1="5" x2="240" y2="140"/>
  <circle cx="240" cy="155" r="20"/>
  <g class="right">
    <line x1="280" y1="5" x2="280" y2="140"/>
    <circle cx="280" cy="155" r="20"/>
  </g>
  <line style="stroke-width: 4px;" x1="20" y1="5" x2="380" y2="5"/>
  <circle cx="120" cy="5" r="2" />
  <circle cx="160" cy="5" r="2" />
  <circle cx="200" cy="5" r="2" />
  <circle cx="240" cy="5" r="2" />
  <circle cx="280" cy="5" r="2" />
</svg>
</body>
</html>