不少答題的H5界面上有旋轉倒計時的效果,一個不斷旋轉減小的動畫,相似於下圖的這樣。css
今天研究了下,能夠經過border旋轉獲得。通常咱們能夠經過border獲得一個四段圓。web
See the Pen circle by stoneniqiu (@stoneniqiu) on CodePen.動畫
接下來接能夠經過旋轉的方式造成一個倒計時的效果:spa
See the Pen circle-rotate by stoneniqiu (@stoneniqiu) on CodePen.code
一開始旋轉45度是爲了讓半圓恰好立起來。而後旋轉一百八十度。orm
.rightcircle{ border-top: .4rem solid #8731fd; border-right: .4rem solid #8731fd; right: 0; transform: rotate(45deg) } .right_cartoon { -webkit-animation: circleProgressLoad_right 10s linear infinite forwards; animation: circleProgressLoad_right 10s linear infinite forwards; } @keyframes circleProgressLoad_right { 0% { -webkit-transform: rotate(46deg); transform: rotate(46deg) } 50%,to { -webkit-transform: rotate(-136deg); transform: rotate(-136deg) } }
畢竟不是真正的減小,要出現一種顏色佔大多數就能夠經過兩個半圓來拼湊。blog
See the Pen circle-timer by stoneniqiu (@stoneniqiu) on CodePen.ci
@keyframes circleProgressLoad_left { 0%,50% { -webkit-transform: rotate(46deg); transform: rotate(46deg) } to { -webkit-transform: rotate(-136deg); transform: rotate(-136deg) } }
注意到是右邊線轉5秒,而後左邊再等五秒,這裏css動畫的效果略有不一樣,右邊是0%開始,50%,to。左邊是0%,50%,而後to,這樣實現的5秒等待。這就是旋轉倒計時的效果,最後還能夠經過修改左半環border-left的顏色,來凸顯最後幾秒鐘的緊急狀況。rem