animate speedometer needle with pure css

六月ゝ 毕业季﹏ 提交于 2019-12-02 01:39:44

demo - http://jsfiddle.net/99oakz7w/2/

use @keyframes

@-webkit-keyframes move {
  0% {
    transform: rotate(-90deg);
  }
  50% {
    transform: rotate(90deg);
  }
  100% {
    transform: rotate(-90deg);
  }
}

#logo {
  display: inline-block;
  position: relative;
}
#logo .speedometer {
  width: 80px;
  height: 80px;
  border-radius: 100%;
  border: 20px solid #000;
  border-right: 20px solid white;
  border-bottom: 20px solid white;
  -webkit-transform: rotate(45deg);
  display: inline-block;
}
#logo .needle {
  width: 5px;
  height: 50px;
  background: #999999;
  border-bottom-left-radius: 5px;
  border-bottom-right-radius: 5px;
  border-top-left-radius: 100%;
  border-top-right-radius: 100%;
  display: inline-block;
  left: 57px;
  position: absolute;
  top: 10px;
  -webkit-animation: move 5s infinite;
  transform: rotate(0deg);
  transform-origin: bottom;
}
@-webkit-keyframes move {
  0% {
    transform: rotate(-90deg);
  }
  50% {
    transform: rotate(90deg);
  }
  100% {
    transform: rotate(-90deg);
  }
}
<div id="logo">	<span class="speedometer"></span>
  <span class="needle"></span>

</div>
fraweb

design a dashboard gauge for speedmeter.

DEMO

Hope this help.

I could almost do it the needle moves like you want but moves away from the center http://jsfiddle.net/99oakz7w/1/

CSS

@-webkit-keyframes move{
0%{transform:rotate(0deg);}
10%{transform:rotate(-45deg);}
20%{transform:rotate(30deg);}
50%{transform:rotate(80deg);}
100%{transform:rotate(90deg);}

}

Akshay's just needs transform-origin: bottom; after line 28 in the CSS.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!